Пусть у меня есть некоторый объект Type t. Также, есть некоторое число классов с общем интерфейсом (пусть классы называются A, B, а интерфейс - AB). У них есть конструкторы, которые принимают в качестве аргумента одни и те же параметры. Как можно создать объект нужного типа в зависимости от t? Пользоваться switch/if и подобным не хочется, ведь таких классов может быть хоть 50.