List<Injector> injectors = new ArrayList<Injector>();
List<Object> elements = javaImpl.getComponentType().getExtensibilityElements();
for (Object element : elements) {
if (element instanceof InitInvokerExtensibilityElement) {
InitInvokerExtensibilityElement invokerElement = (InitInvokerExtensibilityElement) element;
EventInvoker<Object> initInvoker = invokerElement.getEventInvoker();
boolean eagerInit = invokerElement.isEager();
contextFactory.setEagerInit(eagerInit);
contextFactory.setInitInvoker(initInvoker);
} else if (element instanceof DestroyInvokerExtensibilityElement) {
DestroyInvokerExtensibilityElement invokerElement = (DestroyInvokerExtensibilityElement) element;
EventInvoker<Object> destroyInvoker = invokerElement.getEventInvoker();
contextFactory.setDestroyInvoker(destroyInvoker);
} else if (element instanceof ComponentNameExtensibilityElement) {
ComponentNameExtensibilityElement nameElement = (ComponentNameExtensibilityElement) element;
injectors.add(nameElement.getEventInvoker(name));
} else if (element instanceof ContextExtensibilityElement) {