The JavaGroups.JavaStack.Membership class maintains a vector of member addresses. Like vectors, addresses can be added (only if not yet present) and removed, the membership can be set/merged from/with another vector, or sorted (based on Address.Compare). Every view of a member (cf. 3.1.5) maintains a membership: it is crucial for certain algorithms that the order of the membership is the same in all views, which is guaranteed by Membership. This simplifies for example coordinator election; the first member is assumed to have stayed the longest in a group and can therefore be chosen as coordinator. As all members have the same views, every member will make the same decision, and therefore, complicated election algorithms can be avoided.