public HttpResponse executeHEAD(final HttpUriRequest request, final HttpContext context, final MechanizeFilter chain) {
String uri = request.getURI().toString();
CacheEntry previous = cache.get(uri);
if (previous!=null && previous.isValid())
return previous.head();
if (previous!=null)
previous.prepareConditionalGet(request);
HttpResponse response = chain.execute(request, context); // call the chain