В Effective Java Item 33 что-то похожее, но здесь Class.cast() не прокатит, поэтому будет немного по-другому.
Как уже сказали лучше всего проверять валидность сущности в отдельном классе, у тебя в мейн методе, который потом будет методом какого то другого класса, "ручная" проверка валидности. (выташить валидатор, потом валидатором проверить и т.д.) лучше всего создать класс Rules, а не (ValidatOR) которые принимает в методе сущность и отдает boolean валидна сущность или нет. Так же тестировать потом будет проще когда этот код из метода мейн перенесется в другой класс у которого будет зависимость Rules которой будет делегироватся проверка сущностей.
Обсуждают сегодня