@Override
  public int compareTo(ServerName other) {
    int compare = this.getHostname().compareTo(other.getHostname());
    if (compare != 0) return compare;
    compare = this.getPort() - other.getPort();
    if (compare != 0) return compare;
    return 0;
  }
This class differs from ServerName in that start code is always ignored. This is because start
code, ServerName.NON_STARTCODE is used to persist favored nodes and keeping this separate from
{@link ServerName} is much cleaner. This should only be used by Favored node specific classes and
should not be used outside favored nodes.
hbase-balancer/src/main/java/org/apache/hadoop/hbase/favored/StartcodeAgnosticServerName.java