public void Push(TInput[] letters, int index, int count)
        {
            this.AssertBuffer();
            LinkedFifoBuffer <TInput> .Write(ref this.buffer, letters, index, count);

            this.ProcessData();
        }
        public void Push(TInput letter)
        {
            this.AssertBuffer();
            LinkedFifoBuffer <TInput> .Write(ref this.buffer, letter);

            this.ProcessData();
        }
 public void Push(IEnumerable <TInput> letters)
 {
     this.AssertBuffer();
     foreach (var letter in letters)
     {
         LinkedFifoBuffer <TInput> .Write(ref this.buffer, letter);
     }
     this.ProcessData();
 }