public void createProjection(List<SelectColumn> columns){
  ArrayList<Object> fieldValues=new ArrayList<Object>();
  for (int i=0; i < columns.size(); i++) {
    SelectColumn column=columns.get(i);
    if (!column.isVisible())     continue;
    QueryTableData columnTableData=column.getColumnTableData();
    if (columnTableData == null) {
      fieldValues.add(null);
      continue;
    }
    IEntryPacket entry=getEntry(columnTableData.getTableIndex());
    if (entry == null) {
      fieldValues.add(null);
    }
 else     if (column.isUid()) {
      fieldValues.add(entry.getUID());
    }
 else {
      fieldValues.add(column.getFieldValue(entry));
    }
  }
  setFieldsValues(fieldValues.toArray());
}

public void createProjection ( List < SelectColumn > columns ) { ArrayList < Object > fieldValues = new ArrayList < Object > ( ) ; for ( int i = 0 ; i < columns . size ( ) ; i ++ ) { SelectColumn column = columns . get ( i ) ; if ( ! column . isVisible ( ) ) continue ; QueryTableData columnTableData = column . getColumnTableData ( ) ; if ( columnTableData == null ) { fieldValues . add ( null ) ; continue ; } IEntryPacket entry = getEntry ( columnTableData . getTableIndex ( ) ) ; if ( entry == null ) { fieldValues . add ( null ) ; } else if ( column . isUid ( ) ) { fieldValues . add ( entry . getUID ( ) ) ; } else { fieldValues . add ( column . getFieldValue ( entry ) ) ; } } setFieldsValues ( fieldValues . toArray ( ) ) ; }
create columns projection from the joined entries
