code: private int doContentCache() throws IOException {
  
  	// file
  	cacheItem = generateCacheResource(key, true);
  	// use cache
  	if (cacheItem.isValid(timespan)) {
  	    pageContext.write(cacheItem.getValue());
  	    doCaching = false;
  	    return SKIP_BODY;
  	}
  	doCaching = true;
  	return EVAL_BODY_BUFFERED;
      }
docs: /*
  private boolean isOK(Resource cacheResource) { return cacheResource.exists() &&
  (cacheResource.lastModified()+timespan.getMillis()>=System.currentTimeMillis()); }