Предполагая, что вы не используете какое-либо общее состояние в классе Service, вы можете получить бин того же типа и вызвать свой рекурсивный метод. Это, однако, кажется немного странным и не будет моим первым вариантом.
Я рекомендую перенести валидации в код метода. Это решит вашу текущую проблему, в то же время позволяя вашим проверкам быть расширяемыми, а также позволяя вам тестировать их отдельно. В зависимости от их сложности, вы можете иметь их в отдельном классе, например.