 #   __r_id
 #   __r_host
 #   __r_port
-#   __r_type : 'objDes'
+#   __r_type : 'objDes' or 'arrDes' or 'dateDes'
+#   __r_arr : [ elements for array]
+#   __r_date : date.toJSON()
 #   __r_props : {
 #       key/value mapping of primitive types and other remote object descriptor
 #   }

                }
                return funcDesc
            # serialize object
            objDesc = @__newRemoteObjectDesc(id, @host, @port)
            for k, v of obj
                if @_isPrivate(k, obj.__r_skip)

        @__serializeObject(obj, {})

    #append remote markers to existing object or create a new object with remote markers
    __createRemoteDesc : (id, host, port, type, source)->
        result = if source? then source else {}
        result.__r_id = id
        result.__r_type = type
