@SuppressWarnings("unchecked")

	public LinkedHashMap<Integer,List<Tuple>> calculateProjection() throws ParseException{

		List<Tuple> new_tlist;
		StringBuilder sb;
		selectList = select.getSelectItems();
		List <String> colList=new LinkedList<String>();
		for(SelectExpressionItem s : selectList ){

			Expression exp=s.getExpression();
			ExpressionEvaluator ee=new ExpressionEvaluator();
			exp.accept(ee);
			if(ee.getUserColumn()!=null){
				colList.add(ee.getUserColumn().getColumnName().toString());
			}else
				colList.add(ee.getColumn().getColumnName().toString());
		}  


		for(String col : colList){

			if(col.contains("|")){
				new_tlist=calculateGroupByProjection(); 
				outstream.put(0,new_tlist);
				return outstream;			
			}

		}
		int count =0;
		for(Integer i : instream.keySet()){
			sb=new StringBuilder();
			new_tlist=new ArrayList<Tuple>();
			for(String col : colList){
				for(Tuple t : instream.get(i)){
					if(col.contains("(")){
						long val=calculate(t,col);
						sb.append(val+"|");
						break;
					}
					else{
						String val=t.getColValue(col);
						if(val!=null){
							sb.append(val+"|");
							break;
						}
					} 
				}
			}
		

		String t=sb.substring(0,sb.length()-1);
		Tuple tuple=new Tuple(OutputSchema.osTable,t);
		new_tlist.add(tuple);

		outstream.put(count++, new_tlist);

	}

	return outstream;
}