public CommandTreeToken Expect(CommandTreeToken.Kind expected)
        {
            if (Current == null)
            {
                throw CommandParseException.ExpectedTokenButFoundNull(expected);
            }

            var found = Current.TokenKind;

            if (expected != found)
            {
                throw CommandParseException.ExpectedTokenButFoundOther(expected, found);
            }

            return(Current);
        }