public virtual void Consume() { if (initialStreamState) { ConsumeInitialHiddenTokens(); } int a = input.Index(); IToken t = input.LT(1); input.Consume(); int b = input.Index(); dbg.ConsumeToken(t); if (b > a + 1) { // then we consumed more than one token; must be off channel tokens for (int i = a + 1; i < b; i++) { dbg.ConsumeHiddenToken(input.Get(i)); } } }