// i must point at the (possibly imaginary) closing bracket (any of the 2 types, not type parameters) // index returned is index of opening bracket static int findBeginningOfBracketPart(LS cnc, int i) { int j = i-2, level = 1; while (j > 0) { if (eqOneOf(cnc.get(j), "}", ")")) ++level; else if (eqOneOf(cnc.get(j), "{", "(")) --level; if (level == 0) ret j; j -= 2; } return -1; }