/**
   * Implements {@link MBeanServer#getClassLoader(ObjectName)}. Contrarily to JMX 1.2
   * specifications, this methods only works for ClassLoaders that are registered in the
   * ClassLoaderRepository. If you need a fully JMX 1.2 compatible MBeanServer use {@link
   * JdmkMBeanServerBuilder} to create one.
   *
   * @since Java DMK 5.1 (JMX 1.2)
   */
  public ClassLoader getClassLoader(ObjectName loaderName) throws InstanceNotFoundException {

    if (interceptor instanceof MBeanServerInterceptor) {
      return ((MBeanServerInterceptor) interceptor).getClassLoader(loaderName);
    }
    final ModifiableClassLoaderRepository loaders = instantiator.getClassLoaderRepository();
    final ClassLoader loader;
    synchronized (instantiator) {
      loader = loaders.getClassLoader(loaderName);
    }
    if (loader == null) {
      throw new InstanceNotFoundException(
          "The loader named " + loaderName + " is not registered in the MBeanServer");
    }
    return loader;
  }