code: @Nullable
    private AnnotationMirror getAnnotationMirror(final TypeElement annotation, final Element element) {
      Optional<? extends AnnotationMirror> annotationMirror = FluentIterable
          .from(element.getAnnotationMirrors())
          .filter(new Predicate<AnnotationMirror>() {
            @Override
            public boolean apply(@Nullable AnnotationMirror o) {
              return getTypeUtils().isSameType(o.getAnnotationType(), annotation.asType());
            }
          }
          ).first();
      if (annotationMirror.isPresent()) {
        return annotationMirror.get();
      }
      return null;
    }
docs: Récupère l'AnnotationMirror sur l'Element spécifié qui correspond à l'annotation traitée par
  l'AnnotationProcessor dont le TypeElement est spécifié.
  </p>
  Cela permet de connaitre la ligne dans les sources où se trouver l'annotation traitée et de contextualiser
  encore plus finement le message d'erreur à la compilation.
  
  @param annotation un {@link TypeElement} représentation la classe d'une annotation
  @param element    un {@link Element} sur lequel est posé l'annotation
  
  @return un {@link AnnotationMirror} ou {@code null}