docs: protected void handleInboundMimeHeaders(final org.springframework.ws.soap.SoapMessage soapMessage,
                                              final SoapMessage message) {
          final Map<String, String> mimeHeaders = new HashMap<String, String>();
          MimeHeaders messageMimeHeaders = null;
          
          // to get access to mime headers we need to get implementation specific here
          if (soapMessage instanceof SaajSoapMessage) {
              messageMimeHeaders = ((SaajSoapMessage)soapMessage).getSaajMessage().getMimeHeaders();
          } else if (soapMessage instanceof AxiomSoapMessage) {
              // we do not handle axiom message implementations as it is very difficult to get access to the mime headers there
              log.warn("Skip mime headers for AxiomSoapMessage - unsupported");
          } else {
              log.warn("Unsupported SOAP message implementation - skipping mime headers");
          }
          
          if (messageMimeHeaders != null) {
              final Iterator<?> mimeHeaderIterator = messageMimeHeaders.getAllHeaders();
              while (mimeHeaderIterator.hasNext()) {
                  final MimeHeader mimeHeader = (MimeHeader)mimeHeaderIterator.next();
                  // http headers can have multpile values so headers might occur several times in map
                  if (mimeHeaders.containsKey(mimeHeader.getName())) {
                      // header is already present, so concat values to a single comma delimited string
                      String value = mimeHeaders.get(mimeHeader.getName());
                      value += ", " + mimeHeader.getValue();
                      mimeHeaders.put(mimeHeader.getName(), value);
                  } else {
                      mimeHeaders.put(mimeHeader.getName(), mimeHeader.getValue());
                  }
              }
              
              for (final Entry<String, String> httpHeaderEntry : mimeHeaders.entrySet()) {
                  message.setHeader(httpHeaderEntry.getKey(), httpHeaderEntry.getValue());
              }
          }
      }