* @param config Parameterization
* @return Instance or {@code null}
*/
public final Object make(Parameterization config) {
if(state != STATE_FRESH) {
throw new AbortException("Parameterizers may only be set up once!");
}
state = STATE_INIT;
Object owner = this.getClass().getDeclaringClass();
if(owner == null) {
owner = this;
}
config = config.descend(owner);
makeOptions(config);
if(!config.hasErrors()) {
state = STATE_COMPLETE;
Object ret = makeInstance();
if(ret == null) {
throw new AbortException("makeInstance() returned null!", new Throwable());
}
return ret;
}
else {
state = STATE_ERRORS;