int (@NotNull IntervalNode<ErrorStripeMarkerImpl> i1, @NotNull IntervalNode<ErrorStripeMarkerImpl> i2) { Node o1 = (Node)i1; Node o2 = (Node)i2; int d = o2.myLayer - o1.myLayer; if (d != 0) { return d; } int result = super.compareEqualStartIntervals(i1, i2); if (result != 0) { return result; } boolean persistent1 = o1.isFlagSet(RangeHighlighterTree.RHNode.IS_PERSISTENT); boolean persistent2 = o2.isFlagSet(RangeHighlighterTree.RHNode.IS_PERSISTENT); return persistent1 == persistent2 ? 0 : persistent1 ? -1 : 1; }