docs: private Message split(BodyPart bodyPart, Map<String, Object> messageHeaders) {
          MailMessage mailRequest = createMailMessage(messageHeaders, bodyPart.getContent(), bodyPart.getContentType());
  
          Stack<Message> responseStack = new Stack<>();
          if (bodyPart instanceof AttachmentPart) {
              fillStack(getEndpointAdapter().handleMessage(mailRequest
                      .setHeader(CitrusMailMessageHeaders.MAIL_CONTENT_TYPE, bodyPart.getContentType())
                      .setHeader(CitrusMailMessageHeaders.MAIL_FILENAME, ((AttachmentPart) bodyPart).getFileName())), responseStack);
          } else {
              fillStack(getEndpointAdapter().handleMessage(mailRequest
                      .setHeader(CitrusMailMessageHeaders.MAIL_CONTENT_TYPE, bodyPart.getContentType())), responseStack);
          }
  
          if (bodyPart.hasAttachments()) {
              for (AttachmentPart attachmentPart : bodyPart.getAttachments().getAttachments()) {
                  fillStack(split(attachmentPart, messageHeaders), responseStack);
              }
          }
  
          return responseStack.isEmpty() ? null : responseStack.pop();
      }