class AbstractNatManager implements NatManager {

  @Override
  public CompletableFuture<String> queryLocalIPAddress() {
    final CompletableFuture<String> future = new CompletableFuture<>();
    Executors.newCachedThreadPool()
        .submit(
            () -> {
              try {
                future.complete(InetAddress.getLocalHost().getHostAddress());
              } catch (UnknownHostException e) {
                future.completeExceptionally(e);
              }
            });
    return future;
  }

  protected  AbstractNatManager(final NatMethod natMethod);

}