code: function () {
              var deferred = Q.defer();
              var that = this;
              this._innerQueryIterator.nextItem(function (error, item, responseHeaders) {
                  if (error) {
                      addOrMergeHeadersForError(error, responseHeaders);
                      deferred.reject(error);
                  } else {
                      deferred.resolve({ resource: item, headers: responseHeaders });
                  }
              });
  
              return deferred.promise;
          }
docs: Gets the next element in the QueryIterator.
  @memberof QueryIteratorWrapper
  @instance
  @Returns {Object} A promise object for the request completion. The onFulfilled callback is of type {@link ResourceResponse} and onError callback is of type {@link ResponseError}