+ ArchFile->AddEntry(newEntry);
+
+ return true;
+ }
+ return false;
+}
+
+/**
+ * \brief Removes out of the Header a DocEntry.
+ * It's kept in archive.
+ * @param group Group number of the Entry to remove
+ * @param elem Element number of the Entry to remove
+ * @return FALSE when an other DocEntry is already archived with the same key
+ * TRUE otherwise
+ */
+bool DocEntryArchive::Push(uint16_t group, uint16_t elem)
+{
+ std::string 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);