@Override
  public void start(final StartContext context) throws StartException {
    final ClassLoader cl = SecurityActions.getContextClassLoader();
    try {
      SecurityActions.setContextClassLoader(classLoader);
      final BeanManagerImpl beanManager = this.beanManager.getValue();
      for (final Class<?> interceptor : interceptorClasses) {
        interceptorInjections.put(
            interceptor, WeldEEInjection.createWeldEEInjection(interceptor, null, beanManager));
      }

      if (ejbName != null) {
        EjbDescriptor<Object> descriptor = beanManager.getEjbDescriptor(ejbName);
        bean = beanManager.getBean(descriptor);
      }
      injectionTarget = WeldEEInjection.createWeldEEInjection(componentClass, bean, beanManager);
    } finally {
      SecurityActions.setContextClassLoader(cl);
    }
  }