long getAgeValue(final HttpCacheEntry entry) {
        final Header age = entry.getFirstHeader(HttpHeaders.AGE);
        if (age != null) {
            final AtomicReference<String> firstToken = new AtomicReference<>();
            MessageSupport.parseTokens(age, token -> firstToken.compareAndSet(null, token));
            final long delta = CacheSupport.deltaSeconds(firstToken.get());
            if (delta == -1 && LOG.isDebugEnabled()) {
                LOG.debug("Malformed Age value: {}", age);
            }
            return delta > 0 ? delta : 0;
        }
        // If we've got here, there were no valid Age headers
        return 0;
    }
Extracts and processes the Age value from an HttpCacheEntry by tokenizing the Age header value.
The Age header value is interpreted as a sequence of tokens, and the first token is parsed into a number
representing the age in delta-seconds. If the first token cannot be parsed into a number, the Age value is
considered as invalid and this method returns 0. If the first token represents a negative number or a number
that exceeds Integer.MAX_VALUE, the Age value is set to MAX_AGE (in seconds).
This method uses CacheSupport.parseTokens to robustly handle the Age header value.
<p>
Note: If the HttpCacheEntry contains multiple Age headers, only the first one is considered.

@param entry The HttpCacheEntry from which to extract the Age value.
@return The Age value in delta-seconds, or MAX_AGE in seconds if the Age value exceeds Integer.MAX_VALUE or
is negative. If the Age value is invalid (cannot be parsed into a number or contains non-numeric characters),
this method returns 0.
httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java