LongRangeSet (LongRangeSet other, LongRangeType lrType) { if (myRanges.length > 6) { return range(min(), max()).plus(other, lrType); } LongRangeSet result = empty(); for (int i = 0; i < myRanges.length; i += 2) { result = result.join(range(myRanges[i], myRanges[i + 1]).plus(other, lrType)); } return result; }