@Override
    public boolean isRefreshRequired(final RefreshMode refreshMode) {
        boolean hasPassedThreshold = System.currentTimeMillis() >= getExpireTimeWithBufferEpochMs(refreshMode);
        boolean isRefreshRequired = hasPassedThreshold;
        LOGGER.trace("hasPassedThreshold: {}", hasPassedThreshold);
        if (additionalRefreshCondition != null) {
            isRefreshRequired = hasPassedThreshold && additionalRefreshCondition.getAsBoolean();
        }
        LOGGER.trace("isRefreshRequired: {}", hasPassedThreshold);
        return isRefreshRequired;
    }
@return The time the token will expire (with a small buffer before the actual expiry included)
stroom-security/stroom-security-common-impl/src/main/java/stroom/security/common/impl/UpdatableToken.java