code: @SuppressWarnings("unchecked")
  	public <A extends Annotation> A getAnnotation(Class<A> type) {
  		for (Annotation annotation : this.annotations) {
  			if (type.isInstance(annotation)) {
  				return (A) annotation;
  			}
  		}
  		return null;
  	}
docs: Return a single associated annotations that could affect binding.
  @param <A> the annotation type
  @param type annotation type
  @return the associated annotation or {@code null}