public int compareTo(final OIdentifiable iOther) { if (iOther == this) return 0; if (iOther == null) return 1; final int otherClusterId = iOther.getIdentity().getClusterId(); if (clusterId == otherClusterId) { final OClusterPosition otherClusterPos = iOther.getIdentity().getClusterPosition(); return clusterPosition.compareTo(otherClusterPos); } else if (clusterId > otherClusterId) return 1; return -1; }