code: @Override
      public void unlistenAll(final Component<?> linkedObject) throws JRebirthThreadException {
  
          // This method is called into JIT (all method call are serialized)
          // to avoid any thread concurrency trouble
          JRebirth.checkJIT();
  
          final List<WaveSubscription> toRemove = new ArrayList<>();
          // Iterate over all WaveSubscription
          for (final WaveSubscription ws : this.notifierMap.values()) {
  
              for (int i = ws.getWaveHandlers().size() - 1; i >= 0; i--) {
                  final WaveHandler wh = ws.getWaveHandlers().get(i);
                  // If the WaveHandler concern the linked object
                  if (wh.getWaveReady() == linkedObject) {
                      // Remove it from registration list
                      ws.getWaveHandlers().remove(i);
                  }
              }
  
              // If this WaveSubscription doesn't contain any WaveHandler remove the entry.
              if (ws.getWaveHandlers().isEmpty()) {
                  toRemove.add(ws);
              }
          }
  
          for (final WaveSubscription ws : toRemove) {
              this.notifierMap.remove(ws.getWaveType());
          }
  
      }
docs: {@inheritDoc}