Swingアプリにおけるバイトコードエンハンサ

Java1.3以降はDynamicProxyというメッセージ(メソッド)捕捉の仕組みを持つが、.NETのRealProxy等とは違い、インタフェースがメッセージ捕捉対象の絶対条件となるため、JavaBeansのPropertyChangeSupportの自動化等、インタフェースが実装されているとは限らないクラスまでを捕捉の対象にするためには、バイトコードエンハンサの力を借りる必要がある。(Java7では手軽なコードエンハンスの機能は提供されるんだっけか?)

拙作のSwingアプリ用フレームワークは、最初この問題(インタフェースの実装が必須であることと、プロパティが変更された際の通知コードを書かなくてはならないこと)を「やむなし」と割り切っていたのだが、コードを書かない、という良さは、特にJavaでは捨てがたく、外部のライブラリィを使ってでもその選択肢を有効にすることにした。

Javaバイトコードエンハンサを使うと言えば、現在ならばcglibとjavassistの二巨頭どちらかを選択するのだと思うが、正直どちらの素晴らしさも知っているので、どちらを使えば良いのか全く以って決めかねている。

cglib Code Generation Library
javassist

サーバアプリであれば、コンテナで使われている方を選択すれば良い訳だが、今回はSwingアプリケーションである。
両者互いに譲らずということであれば、日本人である以上は絶対にjavassistを使いたい所だが、ここは冷静に評価が必要か。