code: @Override
    public int compareTo(Object other) {
      if (other == null) {
        return -1;
      }
      FlowKey otherKey = (FlowKey)other;
      return new CompareToBuilder()
          .appendSuper(super.compareTo(other))
          .append(getEncodedRunId(), otherKey.getEncodedRunId())
          .toComparison();
    }
docs: Compares two FlowKey objects on the basis of
  their cluster, userName, appId and encodedRunId
  
  @param other
  @return 0 if this cluster, userName, appId and encodedRunId are equal to
  the other's cluster, userName, appId and encodedRunId,
  1 if this cluster or userName or appId or encodedRunId are less than
  the other's cluster, userName, appId and encodedRunId,
  -1 if this cluster and userName and appId and encodedRunId are greater
  the other's cluster, userName, appId and encodedRunId,