private ComponentConstructor createComponentConstructor(Class inputClass)
{
if (inputClass.isInterface() || inputClass.isPrimitive() || inputClass.isArray())
throw new IllegalArgumentException(ScriptMessages.wrongTypeForEnhancement(inputClass));
AbstractPropertyWorker w = new AbstractPropertyWorker();
w.setErrorLog(new ErrorLogImpl(new DefaultErrorHandler(), LOG));
EnhancementOperationImpl op = new EnhancementOperationImpl(_classResolver,
new ComponentSpecification(), inputClass, _classFactory);
w.performEnhancement(op, null);
return op.getConstructor();
}