@Override
  public boolean equals(Object o) {
    if (EqualityUtils.isSameReference(this, o)) {
      return true;
    }

    if (EqualityUtils.isNullOrNotSameClass(this, o)) {
      return false;
    }

    ServerToSegmentSetMap other = (ServerToSegmentSetMap) o;

    return EqualityUtils.isEqual(_serverToSegmentSetMap, other._serverToSegmentSetMap)
        && EqualityUtils.isEqual(_routingTable, other._routingTable);
  }
 @Override
 public int hashCode() {
   int result = EqualityUtils.hashCodeOf(_serverToSegmentSetMap);
   result = EqualityUtils.hashCodeOf(result, _routingTable);
   return result;
 }