code: function slice() {
    /*jshint validthis:true */
    var self = (this instanceof QueryBuilder) ? this : new QueryBuilder();
  
    var args = mlutil.asArray.apply(null, arguments);
  
    // TODO: if empty, clear the clause
  
    self.sliceClause = mlutil.makeSliceClause('query', args);
  
    return self;
  }
docs: Sets the slice clause of a built query to select a slice of documents
  from the result set based on the start document within the result set
  and the number of documents in the slice.  (A slice is also sometimes
  called a page of search results.)
  By default, the slice uses array slice mode, but you can switch
  to legacy slice mode with {@link marklogic.setSliceMode}. Legacy
  slice mode is deprecated and will be removed in the next major release.
  @method
  @since 1.0
  @memberof queryBuilder#
  @param {number} start - in array slice mode, the zero-based position
  within the result set of the first document; in legacy slice mode, the
  one-based position within the result set of the first document or 0 to
  suppress the documents and return only the summary
  @param {number} [length] - in array slice mode, the zero-based position
  of the document after the last document in the slice or 0 to suppress
  the documents and return only the summary; in legacy slice mode, the
  number of documents in the slice
  @param {transform} [transform] - a transform to apply to each document
  in the slice on the server as specified by the {@link queryBuilder#transform}
  function.
  @returns {queryBuilder.BuiltQuery} a built query