int (@NotNull ExternalSystemNode node) { final T myData = getData(); final Object thatData = node.getData(); if (myData instanceof OrderAware && thatData instanceof OrderAware) { int order1 = ((OrderAware)myData).getOrder(); int order2 = ((OrderAware)thatData).getOrder(); if (order1 != order2) { return order1 < order2 ? -1 : 1; } } String dependencyName = getDependencySimpleName(this); String thatDependencyName = getDependencySimpleName(node); return StringUtil.compare(dependencyName, thatDependencyName, true); }