> generation gap では、overrideしてカスタマイズする都合上、
> 生成クラスのprivateやfinalを外す必要があり、

ここがよく分からん。普通全体としてはテンプレメソッドに落とすんじゃない?
(もちろん子供がユーザがいじるクラスで、親が自動生成クラス(当たり前だが))
生成オプション変えた場合は変更は親の中で閉じさせるので、
privateやfinalをはずす必要がなんであるの?

ん?本体が自動生成で、ユーザがいじるのはアスペクトってことか?