I have a abstract base class with a generic type parameter like this:
abstract class Base { constructor(protecte