code: @SuppressWarnings("unchecked")
      public <T extends Annotation> T getSetterAnnotation(Method method, Class<T> annotationType) {
          T annotation = method.getAnnotation(annotationType);
          if (annotation != null) {
              return annotation;
          }
          Annotation[][] parameterAnnotations = method.getParameterAnnotations();
          if (parameterAnnotations.length > 0 ) {
              for (Annotation anno : parameterAnnotations[0]) {
                  if (annotationType.isInstance(anno)) {
                      return (T)anno;
                  }
              }
          }
          return null;
      }
docs: Invokes the annotation of the given type.
  
  @param method the given setter method
  @param annotationType the annotation type to look for
  @param <T> the annotation type
  @return the annotation object, or null if not found