code: static <T extends Annotation> Optional<T> findFirst(AnnotatedElement element, Class<T> annotationType) {
          final List<T> founds = findAll(element, annotationType);
          return founds.isEmpty() ? Optional.empty() : Optional.of(founds.get(0));
      }
docs: Returns an annotation of the {@code annotationType} if it is found from one of the following:
  <ul>
  <li>the specified {@code element}</li>
  <li>the super classes of the specified {@code element} if the {@code element} is a class</li>
  <li>the meta-annotations of the annotations specified on the {@code element}
  or its super classes</li>
  </ul>
  Otherwise, {@link Optional#empty()} will be returned.
  
  @param element the {@link AnnotatedElement} to find the first annotation
  @param annotationType the type of the annotation to find