Refletindo
	    	Você pode facilmente refletir todas as anotações de uma classe:
	    	
Class<T> clazz;
List<Annotation> annotations = new Mirror().on(clazz).reflectAll()
                                    .annotations().atClass();
	    	Da mesma forma que você também pode facilmente refletir todas as anotações de
um field ou de um método:
	    	
Class<T> clazz;
List<Annotation> methodAnnotations = new Mirror().on(clazz).reflectAll()
                            .annotations().atMethod("nomeMetodo").withoutArgs();
                            
List<Annotation> fieldAnnotations = new Mirror().on(clazz).reflectAll()
                            .annotations().atField("nomeField");
	    	Também é possível recuperar um valor de uma propriedade da anotação,
como no código seguinte:
	    	
FooAnnotation annotation = new Mirror().on(clazz).reflect()
                                    .annotation(FooAnnotation.class).atClass();
String valor = annotation.aProperty();
	    	E também funciona para anotações em fields e métodos:
	    	
FooAnnotation annotation = new Mirror().on(clazz).reflect()
                        .annotation(FooAnnotation.class).atField("nomeField");
String valor = annotation.aProperty();
FooAnnotation annotation = new Mirror().on(clazz).reflect()
                        .annotation(FooAnnotation.class)
                        .atMethod("nomeMetodo").withoutArgs();
String valor = annotation.aProperty();