@Override
  public Object doBeforeClass(Description description) {
    if (_mainServlet == null) {
      final MockServletContext mockServletContext =
          new AutoDeployMockServletContext(new FileSystemResourceLoader());

      PortalLifecycleUtil.register(
          new PortalLifecycle() {

            @Override
            public void portalInit() {
              ModuleFrameworkUtilAdapter.registerContext(mockServletContext);
            }

            @Override
            public void portalDestroy() {}
          });

      ServletContextPool.put(StringPool.BLANK, mockServletContext);

      MockServletConfig mockServletConfig = new MockServletConfig(mockServletContext);

      _mainServlet = new MainServlet();

      try {
        _mainServlet.init(mockServletConfig);
      } catch (ServletException se) {
        throw new RuntimeException("The main servlet could not be initialized");
      }

      ServiceTestUtil.initStaticServices();
    }

    ServiceTestUtil.initServices();

    ServiceTestUtil.initPermissions();

    return null;
  }
    public HotDeployPortalLifecycle(HotDeployEvent hotDeployEvent) {
      _servletContext = hotDeployEvent.getServletContext();
      _classLoader = hotDeployEvent.getContextClassLoader();

      ServletContextPool.put(_servletContext.getServletContextName(), _servletContext);
    }