Comparator () { return (o1, o2) -> { if (o1 instanceof PluginDescriptorTreeElement e1 && o2 instanceof PluginDescriptorTreeElement e2) { if (e1.isTopLevelNode() && e2.isTopLevelNode()) { return 0; } } //noinspection unchecked return ALPHA_SORTER.getComparator().compare(o1, o2); }; }