public void Commit() { // store all new bufferrs m_archive.Flush(); // commit the tree m_tree.Commit(); // at this point the new buffers have been committed, now free the old ones //this.FreeChunksOnCommit.Sort(); var toFree = new ArrayList(); foreach (DictionaryEntry d in m_freeChunksOnCommit) { toFree.Add(d.Key); } toFree.Sort(); toFree.Reverse(); foreach (object thing in toFree) { var chunknumber = (long)thing; m_archive.ReleaseBuffers(chunknumber); } m_archive.Flush(); ClearBookKeeping(); }