     deferred = Q.defer()
     endpoint = "#{@_currentEndpoint}?version=#{version}"
     @_rest.DELETE endpoint, =>
-      @_wrapResponse.apply(@, _.union(deferred, arguments))
+      @_wrapResponse.apply(@, [deferred].concat(_.toArray(arguments)))
     deferred.promise
 
   ###*

    payload = JSON.stringify body
    endpoint = @_currentEndpoint
    @_rest.POST endpoint, payload, =>
      @_wrapResponse.apply(@, _.union(deferred, arguments))
    deferred.promise

  ###*

    if @_params.query.perPage is 0
      # fetch all results in chunks
      @_rest.PAGED endpoint, =>
        @_wrapResponse.apply(@, [deferred].concat(_.toArray(arguments)))
      , (progress) -> deferred.notify progress
    else
      @_rest.GET endpoint, =>
        @_wrapResponse.apply(@, [deferred].concat(_.toArray(arguments)))
    deferred.promise

  ###*
