static boolean isAnnotatedWith(Element element, String annotation) {
    for (AnnotationMirror a : element.getAnnotationMirrors()) {
      TypeElement e = (TypeElement) a.getAnnotationType().asElement();
      if (e.getQualifiedName().contentEquals(annotation)) {
        return true;
      }
      if (Annotations.hasJacksonPackagePrefix(annotation)
          && !annotation.equals(JACKSON_ANNOTATIONS_INSIDE)
          && isAnnotatedWith(e, JACKSON_ANNOTATIONS_INSIDE)
          && isAnnotatedWith(e, annotation)) {
        return true;
      }
    }
    return false;
  }
Element used mostly for error reporting,
real model provided by {@link #sourceElement()}.
value-processor/src/org/immutables/value/processor/meta/Proto.java