docs: protected void sendNotification(ResourceDeliveryMessage theMsg) {
  		Map<String, List<String>> params = new HashMap<>();
  		List<Header> headers = new ArrayList<>();
  		if (theMsg.getSubscription().getHeaders() != null) {
  			theMsg.getSubscription().getHeaders().stream().filter(Objects::nonNull).forEach(h -> {
  				final int sep = h.indexOf(':');
  				if (sep > 0) {
  					final String name = h.substring(0, sep);
  					final String value = h.substring(sep + 1);
  					if (StringUtils.isNotBlank(name)) {
  						headers.add(new Header(name.trim(), value.trim()));
  					}
  				}
  			});
  		}
  
  		StringBuilder url = new StringBuilder(theMsg.getSubscription().getEndpointUrl());
  		IHttpClient client = myFhirContext.getRestfulClientFactory().getHttpClient(url, params, "", RequestTypeEnum.POST, headers);
  		IHttpRequest request = client.createParamRequest(myFhirContext, params, null);
  		try {
  			IHttpResponse response = request.execute();
  			// close connection in order to return a possible cached connection to the connection pool
  			response.close();
  		} catch (IOException e) {
  			ourLog.error("Error trying to reach " + theMsg.getSubscription().getEndpointUrl());
  			e.printStackTrace();
  			throw new ResourceNotFoundException(e.getMessage());
  		}
  	}