@Override
    protected int compareEqualStartIntervals(@NotNull IntervalNode<FoldRegionImpl> i1,
                                             @NotNull IntervalNode<FoldRegionImpl> i2) {
      int baseResult = super.compareEqualStartIntervals(i1, i2);
      if (baseResult != 0) {
        return baseResult;
      }
      boolean c1 = i1.isFlagSet(FRNode.CUSTOM_FLAG);
      boolean c2 = i2.isFlagSet(FRNode.CUSTOM_FLAG);
      return c1 == c2 ? 0 : c1 ? 1 : -1;
    }
@Override
    protected int compareEqualStartIntervals(@NotNull IntervalNode<FoldRegionImpl> i1,
                                             @NotNull IntervalNode<FoldRegionImpl> i2)