LongRangeSet (LongRangeType lrType) { long minValue = lrType.min(); if (myFrom <= minValue) { if (myTo >= lrType.max()) { return lrType.fullRange(); } return new RangeSet(new long[]{minValue, minValue, -myTo, -(minValue + 1)}); } return new Range(-myTo, -myFrom); }