code: @PROPFIND
      @Consumes({APPLICATION_XML})
      @Produces({APPLICATION_XML})
      @Timed
      public void getProperties(@Suspended final AsyncResponse response, @Context final Request request,
              @Context final UriInfo uriInfo, @Context final HttpHeaders headers, final DavPropFind propfind)
              throws ParserConfigurationException {
          final TrellisRequest req = new TrellisRequest(request, uriInfo, headers);
          final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + req.getPath());
          final String location = fromUri(getBaseUrl(req)).path(req.getPath()).build().toString();
          final Document doc = getDocument();
          services.getResourceService().get(identifier)
              .thenApply(this::checkResource)
              .thenApply(propertiesToMultiStatus(doc, location, propfind))
              .thenApply(multistatus -> status(MULTI_STATUS).entity(multistatus).build())
              .exceptionally(this::handleException).thenApply(response::resume);
      }
docs: Get properties for a resource.
  @param response the response
  @param request the request
  @param uriInfo the URI info
  @param headers the headers
  @param propfind the propfind
  @throws ParserConfigurationException if the XML parser is not properly configured