end(callback) {

    let query = this.__generateQuery__();
    let countQuery = this.__generateCountQuery__();

    let source = this._transaction ? this._transaction : this.db;

    source.query(countQuery.sql, countQuery.params, (err, countResult) => {

      source.query(query.sql, query.params, (err, result) => {

        this.__endProcessor__(
          err,
          {
            countResult: countResult || [],
            result: result || []
          },
          callback
        );

      });

    });

  }
Execute the query you've been composing.
@param {function({Error}, {Nodal.ModelArray})} callback The method to execute when the query is complete