docs: protected void fireMulticast(String multicastName, String[] partitions, Object... values) {
          List<MulticastListener> listeners;
          synchronized (multicastListeners) {
              listeners = new ArrayList<>(multicastListeners);
          }
          for (MulticastListener listener : listeners) {
              listener.multicastOccurred(multicastName, partitions, values);
          }
      }