@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());
  }
  if (!super.validate(obj)) {
    return false;
  }
  return true;
}

@ 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 ( ) ) ; } if ( ! super . validate ( obj ) ) { return false ; } return true ; }
checks if the given parameter value is valid for this classparameter . if not a parameter exception is thrown .
