[add] [test] make name optional if it is predefined in subclass; throw exception (new class MissingNameException) if name not predefined and not provided to constructor