@Override
  @Deprecated
  public int acquirePublicPort(String publicIpId, Location l, int privatePort) {
    int publicPort;
    synchronized (mutex) {
      PortMapping old = getPortMappingWithPrivateSide(l, privatePort);
      // only works for 1 public IP ID per location (which is the norm)
      if (old != null && old.publicIpId.equals(publicIpId)) {
        log.debug(
            "request to acquire public port at "
                + publicIpId
                + " for "
                + l
                + ":"
                + privatePort
                + ", reusing old assignment "
                + old);
        return old.getPublicPort();
      }

      publicPort = acquirePublicPort(publicIpId);
      log.debug(
          "request to acquire public port at "
              + publicIpId
              + " for "
              + l
              + ":"
              + privatePort
              + ", allocating "
              + publicPort);
      associateImpl(publicIpId, publicPort, l, privatePort);
    }
    onChanged();
    return publicPort;
  }