int (RangeHighlighterEx o1, RangeHighlighterEx o2) { int layerDiff = o2.getLayer() - o1.getLayer(); if (layerDiff != 0) { return layerDiff; } // prefer more specific region int o1Length = o1.getAffectedAreaEndOffset() - o1.getAffectedAreaStartOffset(); int o2Length = o2.getAffectedAreaEndOffset() - o2.getAffectedAreaStartOffset(); return o1Length - o2Length; }