code: public Set<Class<?>> getTypesAnnotatedWith(final Annotation annotation, boolean honorInherited) {
          Iterable<String> annotated = store.get(index(TypeAnnotationsScanner.class), annotation.annotationType().getName());
          Iterable<Class<?>> filter = filter(forNames(annotated, loaders()), withAnnotation(annotation));
          Iterable<String> classes = getAllAnnotated(names(filter), annotation.annotationType().isAnnotationPresent(Inherited.class), honorInherited);
          return Sets.newHashSet(concat(filter, forNames(filter(classes, not(in(Sets.newHashSet(annotated)))), loaders())));
      }
docs: get types annotated with a given annotation, both classes and annotations, including annotation member values matching
  <p>{@link java.lang.annotation.Inherited} is honored according to given honorInherited
  <p/>depends on TypeAnnotationsScanner configured