public List<ColumnProperty> getAllFields(){
		ArrayList<ColumnProperty> l = new ArrayList<ColumnProperty>();
		for (AbstractColumn abstractColumn : this.getColumns()) {
			if (abstractColumn instanceof SimpleColumn && !(abstractColumn instanceof ExpressionColumn)) {
				l.add(((SimpleColumn)abstractColumn).getColumnProperty());
			}
		}
		l.addAll(this.getFields());

		return l;
		
	}
public List < ColumnProperty > getAllFields ( ) { ArrayList < ColumnProperty > l = new ArrayList < ColumnProperty > ( ) ; for ( AbstractColumn abstractColumn : this . getColumns ( ) ) { if ( abstractColumn instanceof SimpleColumn && ! ( abstractColumn instanceof ExpressionColumn ) ) { l . add ( ( ( SimpleColumn ) abstractColumn ) . getColumnProperty ( ) ) ; } } l . addAll ( this . getFields ( ) ) ; return l ; }
Collects all the fields from columns and also the fields not bounds to columns
@return List<ColumnProperty>