public Promise<Boolean> take(UUID uuid, BigDecimal amount) {
        Objects.requireNonNull(uuid, "uuid");
        if (amount.equals(BigDecimal.ZERO)) {
            return Promise.completed(null);
        }
        if (amount.signum() == -1) {
            throw new IllegalArgumentException("amount < 0");
        }

        return doTake(uuid, amount);
    }
Tries to take the specified {@code amount}, failing if the amount would become negative.

@param uuid the uuid
@param amount the amount to take
@return true if successful
helper-sql/src/main/java/me/lucko/helper/sql/util/Uuid2PosDecimalTable.java