			// find matching strings
			while (sm.find()) {
				if (index == null) index = new LineNumberIndex(str);
				final int off = sm.getStart();
				final int lineOffset = index.getLineNumber(off);
				final String line = index.getLine(off);
				final StringMatch match = new StringMatch(file, line, lineOffset, off);
				visitor.found(match);
			}
		}
	}
	
	public static void findThreaded(
			final int threadCount,