docs: private Source getPayloadSource(Object payload) {
          Source source = null;
          
          if (payload instanceof String) {
              source = new StringSource((String) payload);
          } else if (payload instanceof File) {
              source = new StreamSource((File) payload);
          } else if (payload instanceof Document) {
              source = new DOMSource((Document) payload);
          } else if (payload instanceof Source) {
              source = (Source) payload;
          }
          
          if (source == null) {
              throw new CitrusRuntimeException("Failed to create payload source for unmarshalling message");
          }
          
          return source;
      }