private boolean responseIsStillFresh(final Instant responseDate, final Duration freshnessLifetime) {
        if (responseDate == null) {
            // The Date header is missing or invalid. Assuming the response is not fresh.
            return false;
        }
        final Duration age = Duration.between(responseDate, Instant.now());
        return age.compareTo(freshnessLifetime) < 0;
    }
Determines if an HttpResponse is still fresh based on its Date header and calculated freshness lifetime.

<p>
This method calculates the age of the response from its Date header and compares it with the provided freshness
lifetime. If the age is less than the freshness lifetime, the response is considered fresh.
</p>

<p>
Note: If the Date header is missing or invalid, this method assumes the response is not fresh.
</p>

@param responseDate  The response date.
@param freshnessLifetime The calculated freshness lifetime of the HttpResponse.
@return {@code true} if the response age is less than its freshness lifetime, {@code false} otherwise.
httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java