public static UUID getPrevious(UUID uuid) {
        checkArgument(uuid.version() == 1, "Not a time UUID");
        UUID min = minimumUuid();
        long lsb = uuid.getLeastSignificantBits();
        if (lsb > min.getLeastSignificantBits()) {
            return new UUID(uuid.getMostSignificantBits(), lsb - 1);
        }
        long timestamp = uuid.timestamp();
        if (timestamp > min.timestamp()) {
            return new UUID(getMostSignificantBits(timestamp - 1), maximumUuid().getLeastSignificantBits());
        }
        return null;  // No previous exists since uuid == minimumUuid()
    }
public static UUID getPrevious ( UUID uuid ) { checkArgument ( uuid . version ( ) == 1 , "Not a time UUID" ) ; UUID min = minimumUuid ( ) ; long lsb = uuid . getLeastSignificantBits ( ) ; if ( lsb > min . getLeastSignificantBits ( ) ) { return new UUID ( uuid . getMostSignificantBits ( ) , lsb - 1 ) ; } long timestamp = uuid . timestamp ( ) ; if ( timestamp > min . timestamp ( ) ) { return new UUID ( getMostSignificantBits ( timestamp - 1 ) , maximumUuid ( ) . getLeastSignificantBits ( ) ) ; } return null ; }
Returns the largest valid time UUID that is less than the specified time uuid based on
{@link UUID#compareTo(java.util.UUID)}}, or <code>null</code> if the uuid is less than or
equal to {@link #minimumUuid()}.