Так если класс данных уже описан, зачем его создавать в рантайме?
тут две задачи сразу могут быть.
1. твой сервис это что-то типа фасада или прокси, для других, у которы не жвм, у них хуёвые либы и вообще они лучше дружат с json или proto неджели с авро. чтобы тебе макимально производительно делать конвертацию форматов, тебе нужна генерация кода, а не рефлексия, для этого нужно нагенерить классы и серилизаторы чисто под них. поскольку это универсальная прокся - то заранее определять эти классы вообще не вариант, мало ли какая система и что оттуда запросила.
2. вариант два, ты хочешь не просто тип данных, а некий минимально необходимый тебе набор полей, интерфейс. под него попадают условные типа yoba_schmea_v1 и yoba_schema_v2, ты ленивый и не хочешь делать класс прослойку реализующиую этот интерфейс куда будешь всё перекладывать из генрик записи - вот бы он осамо просто реализовало нужные мне интерфейс