Как избавится от сравнения класов

Динамическое связывание
на самом деле это должно выглядеть как-то так.

Преимущество, в любое время можем поменять интерфейсы.
Порождение таблицы как правило выносят в фабрику
как не таскать за кодом проект?
netbeans не поймет :)