class NatService {

  public Optional<NatPortMapping> getPortMapping(
      final NatServiceType serviceType, final NetworkProtocol networkProtocol) {
    if (isNatEnvironment()) {
      try {
        final NatManager natManager = getNatManager().orElseThrow();
        return Optional.of(natManager.getPortMapping(serviceType, networkProtocol));
      } catch (Exception e) {
        LOG.warn("Caught exception while trying to query port mapping (ignoring): {}", e);
      }
    }
    return Optional.empty();
  }

  public  NatService(final Optional<NatManager> natManager, final boolean fallbackEnabled);
  public  NatService(final Optional<NatManager> natManager);

}