а так ну чо я за 30 минут убедил парня, что final классы априори не соответствуют Open-Close, эктив рекорд вполне себе укладывается в Single responsibility, а еще джойнить можно только при наличии FK
а, еще я почти убедил его, что невозможно написать адаптер, если у тебя есть интерфейс на 2 метода и 2 вендорских класса, каждый из которых можно взять для одного из двух методов интерфейса