Acabo de postar no meu blog no java.net sobre a mudança no tratamento de class literals no Java 5 e seus efeitos colaterais nocivos. Basicamente, o uso de uma expressão como MinhaClasse.class não garante que a classe foi inicializada, i.e., que seu bloco static e membros estáticos foram inicializados. Confira!