デザインパターンのひとつに Visitor Pattern があります。このパターンには、古くから Expression Problem が存在していましたが、この問題を Java で type safety に解決する新しいデザインパターンを発見しました。Dispatcher Pattern と呼んでいます。
以下のリンクで前半部分が読めます。
日本語
https://qiita.com/StewEucen/items/37696bf0372d65833311
英語
http://steweucen.hatenablog.jp/entry/2018/05/19/150313
ある人のご指摘で、この内容では 80% しか解決できていないのが判明しています。残りの 20% を解決する方法は発見済みですが、まだブログなどで公表していません。
ちょうどよい機会なので、OOC の場を借りて完全版を発表したいと考えました。Expression Problem の断末魔を、みなさんで見届けてくださいな。