>>433
ClassFileTransformerをきちんと設計すればおk。

ロードしようとしたクラスローダが引数に渡される。
(実際にはdefineClassを実行したクラスローダ)
ブートストラップクラスローダの場合はnullが渡されるが。

動的に作ったクラスローダでdefineClassを行えば、
引数にそのクラスローダが渡されるので、
変換したくなきゃreturn null;でおk。
変換したけりゃ、新しいバイト列を作って返せばいい。
クラスローダとの相性はあまり関係ないと思われ。

ちなみに、Instrumentationのインスタンスはpremainで渡されるが、
その後は好きなところで使用してもいいので、
premainで適当なクラスのstaticフィールドに格納するのもよし。
後からアプリケーション側でロードのフックの実行の制御するのも可能。