this.implementationFactory = modelFactories.getFactory(EJBImplementationFactory.class);
this.jeeExtension = modelFactories.getFactory(JavaEEExtension.class);
this.jeeOptionalExtension = modelFactories.getFactory(JavaEEOptionalExtension.class);
this.monitor = monitor;
this.javaImplementationFactory = new DefaultJavaImplementationFactory();
this.javaInterfaceFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
javaImplementationFactory.addClassVisitor(new ReferenceProcessor(assemblyFactory, javaInterfaceFactory));
javaImplementationFactory.addClassVisitor(new PropertyProcessor(assemblyFactory));
javaImplementationFactory.addClassVisitor(new ServiceProcessor(assemblyFactory, javaInterfaceFactory));
}