Porque meta-programação deve ser fácil.

Como Usar

UmaClasse proxy = new Mirror().proxify(UmaClasse.class)
       
.interceptingWith(new OSeuMethodInterceptor());
O método interceptingWith recebe qualquer número de objetos que implementem net.vidageek.mirror.proxy.dsl.MethodInterceptor. Quando um método for invocado no proxy, o primeiro MethodInterceptor que aceitar aquele método será usado para interceptar o método.