private void ReadWriteByte(ref byte data)
 {
     if (Serializing)
     {
         Inner.WriteByte(data);
         Counter.AddWritten(1);
     }
     else
     {
         var readen = Inner.ReadByte();
         if (readen == -1)
         {
             throw new EndOfStreamException("No more byte to read");
         }
         data = (byte)readen;
         Counter.AddRead(1);
     }
 }