+/**
+ * \brief Replace in the Header a DocEntry by the new DocEntry. The last
+ * DocEntry is kept in archieve
+ * @param group Group number of the Entry
+ * @param element Element number of the Entry
+ * @return FALSE when an other DocEntry is already archieved with the same
+ * generalized key, TRUE otherwise
+ */
+bool DocEntryArchive::Push(uint16_t group,uint16_t element)
+{
+ std::string key = DictEntry::TranslateToKey(group,element);
+
+ if( Archive.find(key)==Archive.end() )
+ {
+ // Save the old DocEntry if any
+ TagDocEntryHT::iterator it = HeaderHT.find(key);
+ if( it!=HeaderHT.end() )
+ {
+ Archive[key] = it->second;
+ HeaderHT.erase(it);
+ }
+
+ return(true);
+ }
+ return(false);
+}
+