ListMultimap<String, String> columnNameMap = ArrayListMultimap.<String, String>create();
PTable table = tableRef.getTable();
for (PColumn column : table.getColumns()) {
String colName = getProjectedColumnName(null, tableRef.getTableAlias(), column.getName().getString());
Expression sourceExpression = rowProjector.getColumnProjector(column.getPosition()).getExpression();
PColumnImpl projectedColumn = new PColumnImpl(PNameFactory.newName(colName), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY),
sourceExpression.getDataType(), sourceExpression.getMaxLength(), sourceExpression.getScale(), sourceExpression.isNullable(),
column.getPosition(), sourceExpression.getSortOrder(), column.getArraySize(), column.getViewConstant(), column.isViewReferenced());
projectedColumns.add(projectedColumn);
sourceExpressions.add(sourceExpression);
}