         def = @_getField(name)
         if def.type is @constructor.ManyToMany
           fetchM2M(@, def, promises, collections)
-      $q.all(promises).then =>
+      $q.all(promises).then ( =>
         #@$meta.async.m2m.deferred.resolve(@)
         @resolvePromise(@$meta.async.m2m.deferred)
+      ) , =>
+        @resolvePromise(@$meta.async.m2m.deferred, false)
       for refs_collection in collections
         refs_collection.$finalize()
       @

        headers: req.headers
        params: req.params
        data: req.data
      ).then (response) =>
        res = @_TransformResponse req, response
        for values in res.data
          collection.push @_MakeInstanceFromRemote(values)
        @_PostResponse res
        collection.$finalize()
      collection

    @Search: (field, value, opts={}) ->

        def = @_getField(name)
        if def.type is @constructor.Reference
          fetchReference(@, def, promises)
      $q.all(promises).then ( =>
        #@$meta.async.m2o.deferred.resolve(@)
        @resolvePromise(@$meta.async.m2o.deferred)
      ), =>
        @resolvePromise(@$meta.async.m2o.deferred, false)
      @

    _fetchM2M: ->
