static L invertIntRanges(L l, int start, int end) { new L out; int x = start, i = 0; while (i < l(l)) { int y = l.get(i).start; if (y > x) out.add(intRange(x, y)); x = l.get(i).end; ++i; } if (end > x) out.add(intRange(x, end)); ret out; }