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