@Override
    public boolean equals(Object o) {
        if (o == this) return true;
        if ( ! (o instanceof Group other)) { return false; }
        if ( ! name.equals(other.name)
            || index != other.index
            || (distribution == null ^ other.distribution == null)
            || (distribution != null &&  ! distribution.equals(other.distribution))
            || Math.abs(capacity - other.capacity) > 0.0000001
            || (subgroups == null ^ other.subgroups == null)
            || (subgroups != null && !subgroups.equals(other.subgroups))
            || (nodes == null ^ other.nodes == null)
            || (nodes != null && !nodes.equals(other.nodes)))
        {
            return false;
        }
        return true;
    }
Represent a group in the tree structure of groups in hierarchical setup of VDS nodes.
vdslib/src/main/java/com/yahoo/vdslib/distribution/Group.java