private static void verify(@NotNull Iterable<? extends Range> iterable) {
    for (Range range : iterable) {
      // verify range
      assert range.start1 <= range.end1;
      assert range.start2 <= range.end2;
      assert range.start1 != range.end1 || range.start2 != range.end2;
    }
  }
private static void verify(@NotNull Iterable<? extends Range> iterable)