__generateQuery__(includeColumns, disableJoins) {

    disableJoins = disableJoins || this.__isGrouped__();

    let queryInfo = this.__reduceToQueryInformation__(this.__collapse__());
    let query = this.__reduceCommandsToQuery__(queryInfo.commands, includeColumns);

    return disableJoins ? query : this.__addJoinsToQuery__(
      query,
      queryInfo,
      includeColumns
    );

  }
Generate a SQL query and its associated parameters from the current composer instance
@param {Array} [includeColumns=*] Which columns to include, includes all by default
@param {boolean} [disableJoins=false] Disable joins if you just want a subset of data
@return {Object} Has "params" and "sql" properties.
@private