@@ -0,0 +1,840 @@
+package org.axonframework.messaging.metadata;%0A%0Aimport org.axonframework.messaging.Message;%0A%0Aimport java.util.Collections;%0Aimport java.util.Map;%0A%0A/**%0A * CorrelationDataProvider that provides the %7B@link Message#getIdentifier() identifier%7D of a %7B@link Message%7D to%0A * other messages that are created as result of processing the first message.%0A *%0A * @author Rene de Waele%0A */%0Apublic enum MessageOriginProvider implements CorrelationDataProvider %7B%0A    INSTANCE;%0A%0A    /**%0A     * The default meta-data key, which is used to identify the %7B@link Message%7D that triggered another message%0A     */%0A    public static final String DEFAULT_CORRELATION_KEY = %22message-origin%22;%0A%0A    @Override%0A    public Map%3CString, ?%3E correlationDataFor(Message%3C?%3E message) %7B%0A        return Collections.singletonMap(DEFAULT_CORRELATION_KEY, message.getIdentifier());%0A    %7D%0A%7D%0A

Add a correlation data provider that provides the original message identifier