ID変わってるかもですが747です
レスくださった方ありがとうございます
リフレクション、abstract factoryどちらともやりたいことができました

やろうとしていたことは動的なベルトコンベアみたいなもので、
たとえばHttpRequestに応じて必要な分だけFilterをつなぐ
 (1) zlib.inflate()
 (2) Base64.decode()
 (3) JSON.parse()

みたいな各Filterを一番外側で必要な分だけインスタンス化してchainにつなぐイメージです
上記の例では全部Singletonでできそうですが、実際の処理はもっと複雑で毎回newする必要がありました
こういうのはJavaっぽくない処理なのでしょうか・・・申し訳ありません