code: @Override
    public C instantiateClass(Parameterization config) {
      return (instance != null) ? instance : (instance = super.instantiateClass(config));
      // NOTE: instance may remain null here, when instantiateClass failed.
    }
docs: Returns a new instance for the value (i.e., the class name) of this class
  parameter. The instance has the type of the restriction class of this class
  parameter.
  <p>
  If the Class for the class name is not found, the instantiation is tried
  using the package of the restriction class as package of the class name.F
  
  @param config Parameterization
  @return a new instance for the value of this class parameter