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

Extensão

Agora que você conhece o Mirror, talvez você queira um pouco mais.

Reflection Providers

Basicamente todo o trabalho sujo é feito por uma coleção de interfaces que chamamos de Reflection Providers. Esse é o núcleo real do Mirror. Atualmente temos apenas net.vidageek.mirror.provider.java.PureJavaReflectionProvider, que usa apenas a Java Reflection API. Mas você pode simplesmente implementar net.vidageek.mirror.provider.ReflectionProvider para ter mais controle sobre o que está acontecendo. Na verdade, net.vidageek.mirror.provider.ReflectionProvider é apenas um grande wrapper para interfaces mais específicas: Mas como você faz para que o Mirror use seu Reflection Provider? De uma olhada em Extensão -> Configuração.

Configuração

Existem duas formas de configurar o Mirror. Você pode instanciar Mirror passando um net.vidageek.mirror.provider.ReflectionProvider :
new Mirror(new FakeReflectionProvider());
Ou você pode deixar que o mirror leia um arquivo de configuração (mirror.properties) que deve ficar na pasta raiz do seu projeto. Por enquanto, a única chave aceita neste arquivo de configuração é a seguinte: Um exemplo:
provider.class = net.vidageek.mirror.fake.FakeProvider
Apenas para lembrar, nenhuma configuração é necessária para usar o Mirror. Ele vai funcionar bem sem ela. Apenas use-a quando "bem" não for suficiente para suas necessidades.