@Override
    public void commit() {
      final ContainerResponse current = response;
      if (current != null) {
        if (HttpMethod.HEAD.equals(requestMethodName) && current.hasEntity()) {
          // for testing purposes:
          // need to also strip the object entity as it was stripped when writing to output
          current.setEntity(null);
        }

        super.set(current);
      }
    }
    @Override
    public OutputStream writeResponseStatusAndHeaders(
        long contentLength, ContainerResponse response) throws ContainerException {
      this.response = response;

      if (contentLength >= 0) {
        response.getHeaders().putSingle(HttpHeaders.CONTENT_LENGTH, Long.toString(contentLength));
      }

      return outputStream;
    }
  @Test
  public void processesRequest() throws Exception {
    ContainerRequest containerRequest = mockContainerRequest();
    ContainerResponse containerResponse = mockContainerResponse();
    EnvironmentContext environmentContext = mock(EnvironmentContext.class);

    doAnswer(
            invocation -> {
              Response response = mock(Response.class);
              when(response.getStatus()).thenReturn(200);
              when(response.getEntity()).thenReturn("foo");
              containerResponse.setResponse(response);
              return null;
            })
        .when(requestHandler)
        .handleRequest(containerRequest, containerResponse);

    everrestProcessor.process(containerRequest, containerResponse, environmentContext);

    ArgumentCaptor<Response> argumentCaptor = ArgumentCaptor.forClass(Response.class);
    verify(containerResponse).setResponse(argumentCaptor.capture());
    assertEquals(200, argumentCaptor.getValue().getStatus());
    assertEquals("foo", argumentCaptor.getValue().getEntity());
  }
 private ContainerResponse mockContainerResponse() {
   ContainerResponse containerResponse = mock(ContainerResponse.class);
   when(containerResponse.getHttpHeaders()).thenReturn(new MultivaluedHashMap<>());
   return containerResponse;
 }