 
         # remap nested data according to rails conventions
         else if _.isObject(value)
-          value = self._collectNonEmptyFields(value)
-
           object["#{key}_attributes"] = value
           delete object[key]
 

          # skip
        else if _.isArray(v)
          if _.isPlainObject(v[0])
            subset = _.map v, (x) -> self._collectNonEmptyFields(x)
            newObject[k] = _.reject subset, (x) -> _.isEmpty(x)

          else
            newObject[k] = v

        else if _.isPlainObject(v)
          obj = self._collectNonEmptyFields(v)
          newObject[k] = obj unless _.isEmpty(obj)

        else

      else
        @_remapAttributes(subject)

    # cleans the object to be send
    # * rejects attributes starting with $
    # * rejects validation errors and isPristine attribute
    # * rejects js functions
    # * rejects empty objects {}
    # * rejects empty objects within array [{}]
    _cleanup: (object) ->
      self = @
      newObject = {}

