public static int createSerialNumber() {
    for (;;) {
      // NOTE: AtomicInteger should rollover if value is Integer.MAX_VALUE
      int result = serialNumberSequencer.incrementAndGet();
      if (result != ILLEGAL_SERIAL) {
        return result;
      }
    }
  }
Generates a serial number for identifying a logical resource. Later instances of the same
logical resource will have a greater serial number than earlier instances. This number
increments statically throughout the life of this JVM. Rollover to negative is allowed.

@see #ILLEGAL_SERIAL
@return the new serial number
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java