boolean match(CharIndexed input, REMatch mymatch) { if (firstToken == null) return next(input, mymatch);
boolean match(CharIndexed input, REMatch mymatch) { if (firstToken == null) { return next(input, mymatch); }
    boolean match(CharIndexed input, REMatch mymatch) { 	if (firstToken == null) return next(input, mymatch);	// Note the start of this subexpression	mymatch.start[subIndex] = mymatch.index;	return firstToken.match(input, mymatch);    }