List<FloatingIP> freeFloatingIps = getFreeFloatingIps(floatingIps);
if (freeFloatingIps.isEmpty()) {
freeFloatingIps.add(floatingIPApi.create());
}
if (freeFloatingIps.isEmpty()) {
throw new FloatingIpAddressException(
"no floating IP address(es) available");
}
FloatingIP ipToAllocate = Iterables.getLast(freeFloatingIps);
String ip = ipToAllocate.getIp();
LOG.debug("assigning floating ip {} to server {}", ip, server.getId());