@Override
  public synchronized void doStop() {
    CompletableFuture<Void> portForwardReleaseFuture = releaseAllPortForwards();
    try {
      LOG.info("Allowing 3 seconds to release all port forwards...");
      portForwardReleaseFuture.get(3, TimeUnit.SECONDS);
    } catch (Exception e) {
      LOG.warn("Caught exception while trying to release port forwards, ignoring", e);
    }

    for (CompletableFuture<RemoteService> future : recognizedServices.values()) {
      future.cancel(true);
    }

    upnpService.getRegistry().removeListener(registryListener);
    upnpService.shutdown();
  }
Stop the manager. Must not be in stopped state.

@throws IllegalStateException if stopped.
nat/src/main/java/org/hyperledger/besu/nat/upnp/UpnpNatManager.java