// i must point at the (possibly imaginary) opening bracket // index returned is index of closing bracket + 1 static int findEndOfAngleBracketPart(List cnc, int i) { int j = i+2, level = 1; while (j < cnc.size()) { if (eq(cnc.get(j), "<")) ++level; else if (eq(cnc.get(j), ">")) --level; if (level == 0) return j+1; ++j; } return cnc.size(); }