@Override
 public void stop() {
   super.stop();
   // Just in case, to avoid leaking class resolver which references classloader
   baseCfg.setClassResolver(null);
   // Remove the ExternalizerTable reference from all the threads.
   // Don't need to re-populate the proxy on start, as the component is volatile.
   proxy.clear();
 }
  @Override
  public void start() {
    super.start();

    baseCfg.setObjectTable(externalizerTable);

    proxy = new ExternalizerTableProxy(externalizerTable);
    baseCfg.setObjectTable(proxy);

    ClassResolver classResolver = globalCfg.serialization().classResolver();
    if (classResolver == null) {
      // Override the class resolver with one that can detect injected
      // classloaders via AdvancedCache.with(ClassLoader) calls.
      ClassLoader cl = cfg == null ? globalCfg.classLoader() : cfg.classLoader();
      classResolver = new EmbeddedContextClassResolver(cl, icc);
    }

    baseCfg.setClassResolver(classResolver);
  }