/** * creates a new object for the given descriptor. * * @param isDelayable * indicates wether initialization is delayable. When isDelayable is set to false the returned object will be * constructed and initialized. When isDelayable is set to true, the returned object will be constructed, but * not necessarily initialized. */ public Object create(final Descriptor descriptor, final boolean isDelayable) { Object object = null; object = construct(descriptor); initialize(object, descriptor, isDelayable); processPendingInitializations(); return object; }