code: private void failTimedOutMissingContentRequests() {
      if (isStopped()) return;
      if (requestsMissingContent.isEmpty()) return;
  
      final List<String> toRemove = new ArrayList<>(); // prevent ConcurrentModificationException
  
      for (final String id : requestsMissingContent.keySet()) {
        final RequestResponseHttpContext requestResponseHttpContext = requestsMissingContent.get(id);
  
        if (requestResponseHttpContext.requestResponseContext.hasConsumerData()) {
          final RequestParser parser = requestResponseHttpContext.requestResponseContext.consumerData();
          if (parser.hasMissingContentTimeExpired(requestMissingContentTimeout)) {
            requestResponseHttpContext.requestResponseContext.consumerData(null);
            toRemove.add(id);
            requestResponseHttpContext.httpContext.completes.with(Response.of(Response.Status.BadRequest, "Missing content."));
            requestResponseHttpContext.requestResponseContext.consumerData(null);
          }
        } else {
          toRemove.add(id); // already closed?
        }
      }
  
      for (final String id : toRemove) {
        requestsMissingContent.remove(id);
      }
    }
docs: =========================================