docs: @Override
    public boolean validate(Class<? extends C> obj) throws ParameterException {
      if(obj == null) {
        throw new UnspecifiedParameterException(this);
      }
      if(!restrictionClass.isAssignableFrom(obj)) {
        throw new WrongParameterValueException(this, obj.getName(), "Given class not a subclass / implementation of " + restrictionClass.getName());
      }
      return super.validate(obj);
    }