class AbstractSignalNotificationHandler {

  boolean unregisterListeners(final Signal signal) {
    assertNotNull(signal, "The signal from which to unregister all listeners cannot be null!");

    Set<SignalListener> listeners = signalListeners.get(signal);

    synchronized (listeners) {
      listeners.clear();
      return listeners.isEmpty();
    }
  }

  protected  AbstractSignalNotificationHandler();

}