code: public OperationFuture<Server> modifyPublicIp(Server server, ModifyPublicIpConfig config) {
          checkNotNull(config, CHECK_PUBLIC_IP_CONFIG);
          List<IpAddress> ipAddresses = findByRef(server).getDetails().getIpAddresses();
  
          List<String> responseIds = ipAddresses.stream()
              .map(IpAddress::getPublicIp)
              .filter(notNull())
              .map(ipAddress ->
                  client.modifyPublicIp(idByRef(server),
                      ipAddress,
                      publicIpConverter.createPublicIpRequest(config)))
              .map(Link::getId)
              .collect(toList());
  
          return new OperationFuture<>(
              server,
              responseIds,
              queueClient
          );
      }
docs: Modify ALL existing public IPs on server
  @param server server reference
  @param config publicIp config
  @return OperationFuture wrapper for ServerRef