code: protected <T extends Annotation> T extractPropertyAnnotation(Method writeMethod, Method readMethod,
              Class<T> annotationClass)
      {
          T parameterDescription = writeMethod.getAnnotation(annotationClass);
  
          if (parameterDescription == null && readMethod != null) {
              parameterDescription = readMethod.getAnnotation(annotationClass);
          }
  
          return parameterDescription;
      }
docs: Get the parameter annotation. Try first on the setter then on the getter if no annotation has been found.
  
  @param <T> the Class object corresponding to the annotation type.
  @param writeMethod the method that should be used to write the property value.
  @param readMethod the method that should be used to read the property value.
  @param annotationClass the Class object corresponding to the annotation type.
  @return this element's annotation for the specified annotation type if present on this element, else null.