code: function (column, table) {
              if (isString(column)) {
                  var parts = this._splitString(column);
                  var columnTable = parts[0], alias = parts[2], schema, tableAlias;
                  column = parts[1];
                  if (!columnTable) {
                      if (isInstanceOf(table, Identifier)) {
                          table = table.value;
                      }
                      if (isInstanceOf(table, AliasedExpression)) {
                          tableAlias = table.alias;
                      } else if (isInstanceOf(table, QualifiedIdentifier)) {
                          tableAlias = table;
                      } else {
                          parts = this._splitString(table);
                          schema = parts[0];
                          tableAlias = parts[2];
                          table = parts[1];
                          if (schema) {
                              tableAlias = new Identifier(tableAlias) || new QualifiedIdentifier(schema, table);
                          }
                      }
                      columnTable = tableAlias || table;
                  }
                  return new QualifiedIdentifier(columnTable, column);
              } else if (isInstanceOf(column, Identifier)) {
                  return column.qualify(table);
              } else {
                  return column;
              }
          }
docs: Returns a qualified column name (including a table name) if the column
  name isn't already qualified.
  
  @example
  
  dataset.qualifiedColumnName("b1", "items");
  //=> items.b1
  
  dataset.qualifiedColumnName("ccc__b"));
  //=> 'ccc.b'
  
  dataset.qualifiedColumnName("ccc__b", "items"));
  //=> 'ccc.b'
  
  @param {String} column the column to qualify. If the column is already qualified (e.g. ccc__b) then the
  table name (e.g. ccc) will override the provided table.
  
  @param {String} table the name of the table to qualify the column to.
  
  @return {String} the qualified column name..