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;
    }
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 ; }
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