private Message handleRequestWithoutAcceptCharset(final Request request) {
   if (request.containsHeader(Header.RANGE)) {
     return handleRequestWithRange(request);
   } else {
     return handleRequestWithoutRange(request);
   }
 }
 private Message handleRequestWithoutAcceptLanguage(final Request request) {
   if (request.containsHeader(Header.ACCEPT_CHARSET)) {
     return handleRequestWithAcceptCharset(request);
   } else {
     return handleRequestWithoutAcceptCharset(request);
   }
 }
 private Message handleRequestWithoutAccept(final Request request) {
   if (request.containsHeader(Header.ACCEPT_LANGUAGE)) {
     return handleRequestWithAcceptLanguage(request);
   } else {
     return handleRequestWithoutAcceptLanguage(request);
   }
 }
 private Message handleRequestWithoutIfNoneMatch(Request request) throws IOException {
   if (request.containsHeader(Header.IF_MODIFIED_SINCE)) {
     return handleRequestWithIfModifiedSince(request);
   } else {
     return handleRequestWithoutIfModifiedSince(request);
   }
 }
 private Message handleRequestWithoutIfUnmodifiedSince(Request request) throws IOException {
   if (request.containsHeader(Header.IF_NONE_MATCH)) {
     return handleRequestWithIfNoneMatch();
   } else {
     return handleRequestWithoutIfNoneMatch(request);
   }
 }
 private final Message getResource(final Request request) throws IOException {
   return request.containsHeader(Header.IF_MATCH)
       ? handleRequestWithIfMatch(request)
       : handleRequestWithoutIfMatch(request);
 }