public bool Forward( int charCount ) { if( charCount < 0 ) throw new ArgumentException( nameof( charCount ) ); int newLen = _length - charCount; if( newLen < 0 ) throw new InvalidOperationException( Impl.CoreResources.StringMatcherForwardPastEnd ); _startIndex += charCount; _length = newLen; _errorDescription = null; return true; }