Message archive management: do not filter out origin-id
diff --git a/server/extensions/xep0313-mam/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0313_mam/MessageStanzaWithId.java b/server/extensions/xep0313-mam/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0313_mam/MessageStanzaWithId.java
index efdf316..5de0fd2 100644
--- a/server/extensions/xep0313-mam/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0313_mam/MessageStanzaWithId.java
+++ b/server/extensions/xep0313-mam/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0313_mam/MessageStanzaWithId.java
@@ -24,6 +24,7 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.function.Predicate;
 
 import org.apache.vysper.xml.fragment.Attribute;
 import org.apache.vysper.xml.fragment.XMLElement;
@@ -58,9 +59,7 @@
         MessageStanza archivedMessageStanza = archivedMessage.stanza();
 
         List<XMLElement> innerElements = new ArrayList<>();
-        archivedMessageStanza.getInnerElements().stream().filter(xmlElement -> !STANZA_ID.equals(xmlElement.getName()))
-                .filter(xmlElement -> !NamespaceURIs.XEP0359_STANZA_IDS.equals(xmlElement.getNamespaceURI()))
-                .forEach(innerElements::add);
+        archivedMessageStanza.getInnerElements().stream().filter(notStanzaId()).forEach(innerElements::add);
         List<Attribute> stanzaIdAttributes = new ArrayList<>();
         if (archiveId != null) {
             stanzaIdAttributes.add(new Attribute("by", archiveId.getFullQualifiedName()));
@@ -76,4 +75,9 @@
         return archivedMessageStanzaWithIdBuilder.build();
     }
 
+    private Predicate<XMLElement> notStanzaId() {
+        return xmlElement -> !STANZA_ID.equals(xmlElement.getName())
+                || !NamespaceURIs.XEP0359_STANZA_IDS.equals(xmlElement.getNamespaceURI());
+    }
+
 }