private static ClassLoader getClusteredCacheStrategyClassLoader() {
        PluginManager pluginManager = XMPPServer.getInstance().getPluginManager();
        Plugin plugin = pluginManager.getPluginByCanonicalName("hazelcast")
            .or(() -> pluginManager.getPluginByCanonicalName("clustering"))
            .or(() -> pluginManager.getPluginByCanonicalName("enterprise"))
            .orElse(null);
        PluginClassLoader pluginLoader = pluginManager.getPluginClassloader(plugin);
        if (pluginLoader != null) {
            if (log.isDebugEnabled()) {
                StringBuilder pluginLoaderDetails = new StringBuilder("Clustering plugin class loader: ");
                pluginLoaderDetails.append(pluginLoader.getClass().getName());
                for (URL url : pluginLoader.getURLs()) {
                    pluginLoaderDetails.append("\n\t").append(url.toExternalForm());
                }
                log.debug(pluginLoaderDetails.toString());
            }
            return pluginLoader;
        }
        else {
            log.warn("CacheFactory - Unable to find a Plugin that provides clustering support.");
            return Thread.currentThread().getContextClassLoader();
        }
    }
Returns the node info for the given cluster node
@param nodeID The target cluster node 
@return The info for the cluster node or null if not found
xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java