code: public static Annotation[] readAnnotations(ValueExpression p_expression, UIComponent p_component) {
  		FacesContext context = FacesContext.getCurrentInstance();
  		ELContext elContext = context.getELContext();
  		try {
  			ValueReference valueReference = p_expression.getValueReference(elContext);
  			Object base;
  			if (null == valueReference) {
  				base = evaluteBaseForMojarra(elContext, p_expression);
  			} else {
  				base = valueReference.getBase();
  			}
  			if (null == base) {
  				return null;
  			}
  			Field declaredField = getField(base, p_expression.getExpressionString());
  			if (null != declaredField) {
  				return declaredField.getAnnotations();
  			}
  			Method getter = getGetter(base, p_expression.getExpressionString());
  			if (null != getter) {
  				return getter.getAnnotations();
  			}
  		} catch (PropertyNotFoundException ex) {
  			// this happens if a bean is null. That's a legal state, so suffice it to return no annotation.
  		}
  		return null;
  	}
docs: Which annotations are given to an object described by an EL expression?
  
  @param p_expression
  EL expression of the JSF bean attribute
  @return null if there are no annotations, or if they cannot be accessed