@Override
  public int hashCode() {
    int result = 17;
    final int mult = 37;

    result = mult * result + (requiredRoles == null ? 0 : requiredRoles.hashCode());
    result = mult * result + (lossAction == null ? 0 : lossAction.hashCode());
    result = mult * result + (resumptionAction == null ? 0 : resumptionAction.hashCode());

    return result;
  }
Returns a hash code for the object. This method is supported for the benefit of hashtables such
as those provided by java.util.Hashtable.

@return the integer 0 if description is null; otherwise a unique integer.
geode-core/src/main/java/org/apache/geode/cache/MembershipAttributes.java