Сервис должен принимать данные в формате json, причем парсить эти данные в классы, расширяющие один абстрактный класс. Сервис должен принимать любые потомки родительского абстрактного класса.
Какой именно потомок класса мы должны принять будет ясно только после проверки контекста.