private Message handleRequestWithIfMatch(Request request) throws IOException { final Path path = Path.fromString(request.uri().getPath()); final Resource resource = resolveResource(path); final String ifMatch = getOnlyElement(request.headers().get(Header.IF_MATCH)); if (ifMatch.equals("*") || !ifMatch.equals(resource.etag())) { return handleRequestWithoutIfMatch(request); } else { return Response.clientErrorPreconditionFailed(); } }