protected AutoScanner(AutoScanner <TToken> source)
        {
            _charClassificationBoundries = source._charClassificationBoundries;
            _charClassification          = source._charClassification;
            _transitionTable             = source._transitionTable;
            _tokenTypes = source._tokenTypes;

            _expressionString = source._expressionString;
        }
        protected virtual AutoScanner <TToken> NewScanner()
        {
            AutoScanner <TToken> result = (AutoScanner <TToken>)MemberwiseClone();

            result._solIndicies      = new List <int>();
            result._currentToken     = null;
            result._nextCharPosition = 0;
            return(result);
        }