code: public final Having havingClause() throws RecognitionException {
  		Having having = null;
  
  
  		Having h =null;
  
  		try {
  			// druidG.g:368:2: (h= complexHaving )
  			// druidG.g:368:4: h= complexHaving
  			{
  			pushFollow(FOLLOW_complexHaving_in_havingClause2584);
  			h=complexHaving();
  			state._fsp--;
  
  			having = h;
  			}
  
  		}
  		catch (RecognitionException re) {
  			reportError(re);
  			recover(input,re);
  		}
  		finally {
  			// do for sure before leaving
  		}
  		return having;
  	}
docs: druidG.g:367:1: havingClause returns [Having having] : h= complexHaving ;