public override int Matches(int strIndex, String testString,
                                    MatchResultImpl matchResult)
        {
            if (strIndex != matchResult.GetRightBound() &&
                ((strIndex == 0 || (matchResult.HasAnchoringBounds() && strIndex == matchResult
                                    .GetLeftBound())) || lt.IsAfterLineTerminator(
                     testString[strIndex - 1],
                     testString[strIndex])))
            {
                return(next.Matches(strIndex, testString, matchResult));
            }

            return(-1);
        }