@Override
  protected void registerComponents() throws Exception {
    super.registerComponents();

    // Override the system ClassLoader to isolate class loading of extensions from the current
    // ClassLoader
    // (which already contains the extensions)
    registerComponent(TestJarExtensionClassLoader.class);

    // Make sure to fully enable ObservationManager to test EventListener live registration
    StackingComponentEventManager componentEventManager = new StackingComponentEventManager();
    componentEventManager.shouldStack(false);
    getComponentManager().setComponentEventManager(componentEventManager);

    // Ignore warning log during setup
    ((LoggerManager) getComponentManager().getInstance(LoggerManager.class)).pushLogListener(null);
  }
  @Override
  public void setUp() throws Exception {
    super.setUp();

    this.testApplicationClassloader = Thread.currentThread().getContextClassLoader();

    // lookup
    this.componentManagerManager = getComponentManager().getInstance(ComponentManagerManager.class);
    this.jarExtensionClassLoader = getComponentManager().getInstance(ClassLoaderManager.class);

    // Make sure to fully enable ObservationManager to test EventListener live registration
    StackingComponentEventManager componentEventManager =
        (StackingComponentEventManager) getComponentManager().getComponentEventManager();
    ObservationManager manager = getComponentManager().getInstance(ObservationManager.class);
    componentEventManager.setObservationManager(manager);

    ((LoggerManager) getComponentManager().getInstance(LoggerManager.class)).popLogListener();
  }