// uses jfind (case-insensitive) sclass PJFindAttractor > PartialAttractor { S pattern; TokCondition condition; S[] tokens; *(S *pattern) {} *(S *pattern, TokCondition *condition) {} public bool find() { if (tokens == null) tokens = javaTokForJFind_array(pattern); int i = findCodeTokens(tok, 0, true, tokens, condition); if (i < 0) false; matchedRange = intRange(i, i+l(tokens)*2-1); true; } }