@Nullable
    @Override
    public T getOrNull() {
        if (shouldExpire()) {
            return null;
        }

        // reset expiry time
        this.expireAt = System.currentTimeMillis() + this.millis;
        return this.value;
    }
Represents a value which will expire a set amount of time after the last access

@param <T> the wrapped value type
helper/src/main/java/me/lucko/helper/metadata/ExpireAfterAccessValue.java