public static void fireJoinedCluster(byte[] nodeID, boolean asynchronous) {
        try {
            Log.info("Firing joined cluster event for another node:" + new String(nodeID, StandardCharsets.UTF_8));
            Event event = new Event(EventType.joined_cluster, nodeID);
            events.put(event);
            if (!asynchronous) {
                while (!event.isProcessed()) {
                    Thread.sleep(50);
                }
            }
        } catch (InterruptedException e) {
            // Should never happen
            Log.error(e.getMessage(), e);
        }
    }
Triggers event indicating that another JVM is now part of a cluster.<p>

This event will be triggered in another thread. This will avoid potential deadlocks
in Coherence.

@param nodeID    nodeID assigned to the JVM when joining the cluster.
@param asynchronous true if event will be triggered in background
xmppserver/src/main/java/org/jivesoftware/openfire/cluster/ClusterManager.java