docs: protected void parseExtractHeaderElements(Element element, List<VariableExtractor> variableExtractors) {
          Element extractElement = DomUtils.getChildElementByTagName(element, "extract");
          Map<String, String> extractHeaderValues = new HashMap<>();
          if (extractElement != null) {
              List<?> headerValueElements = DomUtils.getChildElementsByTagName(extractElement, "header");
              for (Iterator<?> iter = headerValueElements.iterator(); iter.hasNext();) {
                  Element headerValue = (Element) iter.next();
                  extractHeaderValues.put(headerValue.getAttribute("name"), headerValue.getAttribute("variable"));
              }
              
              MessageHeaderVariableExtractor headerVariableExtractor = new MessageHeaderVariableExtractor();
              headerVariableExtractor.setHeaderMappings(extractHeaderValues);
  
              if (!CollectionUtils.isEmpty(extractHeaderValues)) {
                  variableExtractors.add(headerVariableExtractor);
              }
          }
      }