+ TagKey key = DictEntry::TranslateToKey(group, elem);
+
+ if ( Archive.find(key)==Archive.end() )
+ {
+ // Save the old DocEntry if any
+ DocEntry *old = ArchFile->GetDocEntry(group, elem);
+ Archive[key] = old;
+ if ( old )
+ ArchFile->RemoveEntryNoDestroy(old);
+
+ return true;
+ }
+ return false;
+}
+
+/**
+ * \brief Restore in the Header the DocEntry specified by (group,element).
+ * The archive entry is destroyed.
+ * @param group Group number of the Entry to restore
+ * @param elem Element number of the Entry to restore
+ * @return FALSE when the key isn't in the archive,
+ * TRUE otherwise
+ */
+bool DocEntryArchive::Restore(uint16_t group, uint16_t elem)
+{
+ TagKey key=DictEntry::TranslateToKey(group, elem);