code: function (name) {
              if (isString(name)) {
                  var parts = this._splitString(name),
                      schema = parts[0], table = parts[1], alias = parts[2],
                      identifier;
                  if (schema && table && alias) {
                      identifier = new AliasedExpression(new QualifiedIdentifier(schema, table), alias);
                  } else if (schema && table) {
                      identifier = new QualifiedIdentifier(schema, table);
                  } else if (table && alias) {
                      identifier = new AliasedExpression(new Identifier(table), alias);
                  } else {
                      identifier = new Identifier(table);
                  }
                  return identifier;
              } else {
                  return name;
              }
          }
docs: Converts a string to an {@link patio.sql.Identifier}, {@link patio.sql.QualifiedIdentifier},
  or {@link patio.sql.AliasedExpression}, depending on the format:
  
  <ul>
  <li>For columns : table__column___alias.</li>
  <li>For tables : schema__table___alias.</li>
  </ul>
  each portion of the identifier is optional. See example below
  
  @example
  
  ds.stringToIdentifier("a") //= > new patio.sql.Identifier("a");
  ds.stringToIdentifier("table__column"); //=> new patio.sql.QualifiedIdentifier(table, column);
  ds.stringToIdentifier("table__column___alias");
  //=> new patio.sql.AliasedExpression(new patio.sql.QualifiedIdentifier(table, column), alias);
  
  @param {String} name the name to covert to an an {@link patio.sql.Identifier}, {@link patio.sql.QualifiedIdentifier},
  or {@link patio.sql.AliasedExpression}.
  
  @return  {patio.sql.Identifier|patio.sql.QualifiedIdentifier|patio.sql.AliasedExpression} an identifier generated based on the name string.