code: public static UUID getNext(UUID uuid) {
          checkArgument(uuid.version() == 1, "Not a time UUID");
          UUID max = maximumUuid();
          long lsb = uuid.getLeastSignificantBits();
          if (lsb < max.getLeastSignificantBits()) {
              return new UUID(uuid.getMostSignificantBits(), lsb + 1);
          }
          long timestamp = uuid.timestamp();
          if (timestamp < max.timestamp()) {
              return new UUID(getMostSignificantBits(timestamp + 1), minimumUuid().getLeastSignificantBits());
          }
          return null;  // No next exists since uuid == maximumUuid()
      }
docs: Returns the smallest valid time UUID that is greater than the specified time uuid based on
  {@link UUID#compareTo(java.util.UUID)}}, or <code>null</code> if the uuid is greater than or
  equal to {@link #maximumUuid()}.