private void InsertEntryBlock(Ex12RenEntryIdStrategy.PersistenceId persistenceId, Ex12ExRenEntryParser.ExFolderEntry exFolderEntry)
        {
            this.defaultFolderRenEx[(ushort)persistenceId] = exFolderEntry;
            int num = (this.entryBlob == null) ? 0 : this.entryBlob.Length;
            int num2;
            int num3;

            byte[] array = exFolderEntry.ToBlock(persistenceId, out num2, out num3);
            this.entryBlob      = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, 0, 0, array);
            exFolderEntry.Start = num + num2;
            exFolderEntry.End   = num + array.Length;
        }
 internal bool Remove(Ex12RenEntryIdStrategy.PersistenceId persistenceId)
 {
     Ex12ExRenEntryParser.ExFolderEntry exFolderEntry = null;
     if (this.defaultFolderRenEx.TryGetValue((ushort)persistenceId, out exFolderEntry))
     {
         int start = exFolderEntry.Start - 4;
         this.entryBlob = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, start, exFolderEntry.End, Array <byte> .Empty);
         this.defaultFolderRenEx.Clear();
         this.Parse();
         return(true);
     }
     return(false);
 }
 private bool ReplaceEntryBlock(Ex12RenEntryIdStrategy.PersistenceId persistenceId, Ex12ExRenEntryParser.ExFolderEntry exFolderEntry)
 {
     Ex12ExRenEntryParser.ExFolderEntry exFolderEntry2 = null;
     if (this.defaultFolderRenEx.TryGetValue((ushort)persistenceId, out exFolderEntry2))
     {
         byte[] array = exFolderEntry.ToBytes();
         if (array.Length == exFolderEntry2.End - exFolderEntry2.Start)
         {
             exFolderEntry.Start = exFolderEntry2.Start;
             exFolderEntry.End   = array.Length + exFolderEntry.Start;
             this.defaultFolderRenEx[(ushort)persistenceId] = exFolderEntry;
             this.entryBlob = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, exFolderEntry2.Start, exFolderEntry2.End, array);
             return(true);
         }
     }
     return(false);
 }