code: public final AggItem aggItem() throws RecognitionException {
  		AggItem aggItem = null;
  
  
  		Token x=null;
  
  		  aggItem = new AggItem(); 
  		try {
  			// druidG.g:455:2: ( aggCallSite[aggItem] ( WS AS WS x= ID )? )
  			// druidG.g:455:4: aggCallSite[aggItem] ( WS AS WS x= ID )?
  			{
  			pushFollow(FOLLOW_aggCallSite_in_aggItem3045);
  			aggCallSite(aggItem);
  			state._fsp--;
  
  			// druidG.g:455:25: ( WS AS WS x= ID )?
  			int alt191=2;
  			int LA191_0 = input.LA(1);
  			if ( (LA191_0==WS) ) {
  				int LA191_1 = input.LA(2);
  				if ( (LA191_1==AS) ) {
  					alt191=1;
  				}
  			}
  			switch (alt191) {
  				case 1 :
  					// druidG.g:455:26: WS AS WS x= ID
  					{
  					match(input,WS,FOLLOW_WS_in_aggItem3049); 
  					match(input,AS,FOLLOW_AS_in_aggItem3051); 
  					match(input,WS,FOLLOW_WS_in_aggItem3053); 
  					x=(Token)match(input,ID,FOLLOW_ID_in_aggItem3057); 
  					aggItem.setAsName((x!=null?x.getText():null));
  					}
  					break;
  
  			}
  
  			}
  
  		}
  		catch (RecognitionException re) {
  			reportError(re);
  			recover(input,re);
  		}
  		finally {
  			// do for sure before leaving
  		}
  		return aggItem;
  	}
docs: druidG.g:453:1: aggItem returns [AggItem aggItem] : aggCallSite[aggItem] ( WS AS WS x= ID )? ;