docs: public final Object annotationValue(AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
  		Object result = null;
  
  
  		ParserRuleReturnScope exp =null;
  		java.util.List annos =null;
  		AnnotationDescr anno =null;
  
  		try {
  			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:214:3: (exp= expression |annos= annotationArray[inDescrBuilder] |anno= fullAnnotation[inDescrBuilder] )
  			int alt21=3;
  			switch ( input.LA(1) ) {
  			case BOOL:
  			case DECIMAL:
  			case DECR:
  			case DIV:
  			case DOT:
  			case FLOAT:
  			case HEX:
  			case ID:
  			case INCR:
  			case LEFT_PAREN:
  			case LEFT_SQUARE:
  			case LESS:
  			case MINUS:
  			case NEGATION:
  			case NULL:
  			case PLUS:
  			case QUESTION_DIV:
  			case STAR:
  			case STRING:
  			case TILDE:
  			case TIME_INTERVAL:
  				{
  				alt21=1;
  				}
  				break;
  			case LEFT_CURLY:
  				{
  				alt21=2;
  				}
  				break;
  			case AT:
  				{
  				alt21=3;
  				}
  				break;
  			default:
  				if (state.backtracking>0) {state.failed=true; return result;}
  				NoViableAltException nvae =
  					new NoViableAltException("", 21, 0, input);
  				throw nvae;
  			}
  			switch (alt21) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:214:5: exp= expression
  					{
  					pushFollow(FOLLOW_expression_in_annotationValue1070);
  					exp=expression();
  					state._fsp--;
  					if (state.failed) return result;
  					if ( state.backtracking==0 ) { if ( buildDescr ) result = (exp!=null?input.toString(exp.start,exp.stop):null); }
  					}
  					break;
  				case 2 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:215:7: annos= annotationArray[inDescrBuilder]
  					{
  					pushFollow(FOLLOW_annotationArray_in_annotationValue1082);
  					annos=annotationArray(inDescrBuilder);
  					state._fsp--;
  					if (state.failed) return result;
  					if ( state.backtracking==0 ) { if ( buildDescr ) result = annos.toArray(); }
  					}
  					break;
  				case 3 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:216:7: anno= fullAnnotation[inDescrBuilder]
  					{
  					pushFollow(FOLLOW_fullAnnotation_in_annotationValue1095);
  					anno=fullAnnotation(inDescrBuilder);
  					state._fsp--;
  					if (state.failed) return result;
  					if ( state.backtracking==0 ) { if ( buildDescr ) result = anno; }
  					}
  					break;
  
  			}
  		}
  
  		catch (RecognitionException re) {
  		    throw re;
  		}
  
  		finally {
  			// do for sure before leaving
  		}
  		return result;
  	}