private static Set<String> getReturnTypeAnnotations(
      ExecutableElement method, Predicate<TypeElement> typeFilter) {
    return method.getReturnType().getAnnotationMirrors().stream()
        .map(a -> a.getAnnotationType().asElement())
        .map(MoreElements::asType)
        .filter(typeFilter)
        .map(e -> e.getQualifiedName().toString())
        .collect(toSet());
  }
Returns the fully-qualified name of an annotation-mirror, e.g.
"com.google.auto.value.AutoValue".
value/src/main/java/com/google/auto/value/processor/AutoValueishProcessor.java