private static Keeper availableKeeper() {
    int count = 1;
    while (true) {
      int uniquePort = nextCandidatePort.getAndUpdate(skipCandidatePorts(1));
      if (uniquePort + count > AVAILABLE_PORTS_UPPER_BOUND) {
        continue;
      }
      Keeper keeper = isPortKeepable(uniquePort, SOCKET, getAddress(SOCKET));
      if (keeper != null) {
        return keeper;
      }
    }
  }
Assign this JVM's next candidate port based on the given index. If each JVM in the same test
calls this function with a small, distinct number, the algorithm:
<ul>
<li>Separates the JVMs' next candidate ports reasonably well</li>
<li>Allows adding JVMs without needing to know the total number of JVMs ahead of time</li>
</ul>

@param jvmIndex a small number different from that of any other JVM running in this test
geode-junit/src/main/java/org/apache/geode/internal/AvailablePortHelper.java