code: public static <T extends Annotation> Optional<T> findFirstEncounteredAnnotationsOnAllHierarchy( RebindConfiguration configuration,
                                                                                                      JClassType type, Class<T> annotation ) {
          return findFirstEncounteredAnnotationsOnAllHierarchy( configuration, type, annotation, Optional.<JClassType>absent() );
      }
docs: Browse all the hierarchy of the type and return the first corresponding annotation it found
  
  @param type type
  @param annotation annotation to find
  @return the annotation if found, null otherwise
  @param configuration a {@link com.github.nmorel.gwtjackson.rebind.RebindConfiguration} object.
  @param <T> a T object.