code: protected boolean addIfMissing( QueryContext context,
                                      Column column,
                                      List<Column> columns,
                                      List<String> columnTypes ) {
          for (Column c : columns) {
              if (!c.selectorName().equals(column.selectorName())) continue;
              String cName = c.getPropertyName();
              if (cName.equals(column.getPropertyName()) || cName.equals(column.getColumnName())) return false;
              cName = c.getColumnName();
              if (cName.equals(column.getPropertyName()) || cName.equals(column.getColumnName())) return false;
          }
          columns.add(column);
          columnTypes.add(context.getTypeSystem().getDefaultType());
          return true;
      }
docs: Check the supplied list of columns for an existing column that matches the supplied {@link Column}, and if none is found
  add the supplied Column to the list and add an appropriate type.
  
  @param context the query context
  @param column the column that will be added if not already in the list; may not be null
  @param columns the list of columns; may not be null
  @param columnTypes the list of column types; may not be null
  @return true if the column was added (i.e., the lists were modified), or false if the lists were not modified