// Create Spring bean factory
beanFactory = new DefaultListableBeanFactory();
// Create SCA assembly and SCA Java factories
ModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint();
AssemblyFactory assemblyFactory = new BeanAssemblyFactory(new DefaultAssemblyFactory(), beanFactory);
modelFactories.addFactory(assemblyFactory);
SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
PolicyFactory policyFactory = new DefaultPolicyFactory();
modelFactories.addFactory(policyFactory);
ContributionFactory contributionFactory = modelFactories.getFactory(ContributionFactory.class);
InterfaceContractMapper interfaceContractMapper = new InterfaceContractMapperImpl();
JavaInterfaceFactory javaFactory = new DefaultJavaInterfaceFactory();
modelFactories.addFactory(javaFactory);
JavaImplementationFactory javaImplementationFactory = new BeanJavaImplementationFactory(beanFactory);
modelFactories.addFactory(javaImplementationFactory);
BaseJavaClassVisitor[] extensions = new BaseJavaClassVisitor[] {
new ConstructorProcessor(assemblyFactory),
new AllowsPassByReferenceProcessor(assemblyFactory),
new ComponentNameProcessor(assemblyFactory),