# File ruby/bstream.rb, line 113
        def write(arg)
          case check_type(arg)
          when T_NULL
                return write_null
          when T_INTEGER8
                return write_int8(arg)
          when T_DECIMAL
                return write_decimal(arg)
          when T_INTEGER1
                return write_int1(arg)
          when T_INTEGER2
                return write_int2(arg)
          when T_INTEGER4
                return write_int4(arg)
          when T_DOUBLE
                return write_double(arg)
          when T_STRING
                return write_string(arg)
          when T_ARRAY
                return write_array(arg)
          when T_BOOLEAN_TRUE
                return writes([T_BOOLEAN_TRUE].pack("C"))
          when T_BOOLEAN_FALSE
                return writes([T_BOOLEAN_FALSE].pack("C"))
          end
          raise IOError.new("Can not serialize the type: #{arg.class} : #{arg}")
        end