public List<C> instantiateClasses(Parameterization config){
  config=config.descend(this);
  List<C> instances=new ArrayList<>();
  if (getValue() == null) {
    config.reportError(new UnusedParameterException("Value of parameter " + getName() + " has not been specified."));
    return instances;
  }
  for (  Class<? extends C> cls : getValue()) {
    try {
      C instance=ClassGenericsUtil.tryInstantiate(restrictionClass,cls,config);
      instances.add(instance);
    }
 catch (    Exception e) {
      config.reportError(new WrongParameterValueException(this,cls.getName(),e));
    }
  }
  return instances;
}

public List < C > instantiateClasses ( Parameterization config ) { config = config . descend ( this ) ; List < C > instances = new ArrayList < > ( ) ; if ( getValue ( ) == null ) { config . reportError ( new UnusedParameterException ( "Value of parameter " + getName ( ) + " has not been specified." ) ) ; return instances ; } for ( Class < ? extends C > cls : getValue ( ) ) { try { C instance = ClassGenericsUtil . tryInstantiate ( restrictionClass , cls , config ) ; instances . add ( instance ) ; } catch ( Exception e ) { config . reportError ( new WrongParameterValueException ( this , cls . getName ( ) , e ) ) ; } } return instances ; }
returns a list of new instances for the value ( i . e . , the class name ) of this class list parameter . the instances have the type of the restriction class of this class list parameter . < p / > if the class for the class names is not found , the instantiation is tried using the package of the restriction class as package of the class name .
