Есть базовый класс и по совместительству фабрика которая создает свои же инстансы, разумеется инстансы обязаны создаваться только фабрикой, у базового класса есть дочерние классы, их я хочу чтобы они создавались также только в фабрике. Как это сделать, приватный конструктор - запретит дочерние классы, протектед - дочерние можно будет создавать где угодно, итд, в Java/C# эта фигня фиксится аннотациями