// NewPaperChangeMemberPolicyType returns a new PaperChangeMemberPolicyType instance
174768
func NewPaperChangeMemberPolicyType(Description string) *PaperChangeMemberPolicyType {
	s := new(PaperChangeMemberPolicyType)
	s.Description = Description
	return s
}
310286
func NewFileRequestChangeType(Description string) *FileRequestChangeType {
	s := new(FileRequestChangeType)
	s.Description = Description
	return s
}
747556
func NewGroupUserManagementChangePolicyDetails(NewValue *team_policies.GroupCreation) *GroupUserManagementChangePolicyDetails {
	s := new(GroupUserManagementChangePolicyDetails)
	s.NewValue = NewValue
	return s
}
316690
func NewMemberSuggestionsChangePolicyType(Description string) *MemberSuggestionsChangePolicyType {
	s := new(MemberSuggestionsChangePolicyType)
	s.Description = Description
	return s
}
1308987
func NewSharedFolderChangeMembersManagementPolicyDetails(NewValue *sharing.AclUpdatePolicy) *SharedFolderChangeMembersManagementPolicyDetails {
	s := new(SharedFolderChangeMembersManagementPolicyDetails)
	s.NewValue = NewValue
	return s
}
974663
func NewPaperDocSharingPolicy(DocId string, SharingPolicy *SharingPolicy) *PaperDocSharingPolicy {
	s := new(PaperDocSharingPolicy)
	s.DocId = DocId
	s.SharingPolicy = SharingPolicy
	return s
}
685940
func NewPaperFolderDeletedType(Description string) *PaperFolderDeletedType {
	s := new(PaperFolderDeletedType)
	s.Description = Description
	return s
}
609899
func NewPaperExternalViewDefaultTeamType(Description string) *PaperExternalViewDefaultTeamType {
	s := new(PaperExternalViewDefaultTeamType)
	s.Description = Description
	return s
}
646029
func NewSharedFolderChangeMembersManagementPolicyType(Description string) *SharedFolderChangeMembersManagementPolicyType {
	s := new(SharedFolderChangeMembersManagementPolicyType)
	s.Description = Description
	return s
}
1006378
func NewPaperDocDownloadType(Description string) *PaperDocDownloadType {
	s := new(PaperDocDownloadType)
	s.Description = Description
	return s
}
997776
func (r *HashRing) ProcessMembershipChanges(changes []membership.MemberChange) {
	r.Lock()
	changed := false
	var added, updated, removed []string
	for _, change := range changes {
		if change.Before == nil && change.After != nil {
			// new member
			if r.addMemberNoLock(change.After) {
				added = append(added, change.After.GetAddress())
				changed = true
			}
		} else if change.Before != nil && change.After == nil {
			// remove member
			if r.removeMemberNoLock(change.Before) {
				removed = append(removed, change.Before.GetAddress())
				changed = true
			}
		} else {
			if change.Before.Identity() != change.After.Identity() {
				// identity has changed, member needs to be removed and readded
				r.removeMemberNoLock(change.Before)
				r.addMemberNoLock(change.After)
				updated = append(updated, change.After.GetAddress())
				changed = true
			}
		}
	}

	// recompute checksums on changes
	if changed {
		r.computeChecksumsNoLock()
		r.EmitEvent(events.RingChangedEvent{
			ServersAdded:   added,
			ServersUpdated: updated,
			ServersRemoved: removed,
		})
	}

	r.Unlock()
}
638379
func NewPaperContentAddMemberType(Description string) *PaperContentAddMemberType {
	s := new(PaperContentAddMemberType)
	s.Description = Description
	return s
}
172858
func NewPermanentDeleteChangePolicyType(Description string) *PermanentDeleteChangePolicyType {
	s := new(PermanentDeleteChangePolicyType)
	s.Description = Description
	return s
}
108828
func NewPaperFolderTeamInviteType(Description string) *PaperFolderTeamInviteType {
	s := new(PaperFolderTeamInviteType)
	s.Description = Description
	return s
}
6536
func NewMemberSpaceLimitsChangeCustomQuotaType(Description string) *MemberSpaceLimitsChangeCustomQuotaType {
	s := new(MemberSpaceLimitsChangeCustomQuotaType)
	s.Description = Description
	return s
}
1251242
func NewMemberChangeEmailDetails(NewValue string) *MemberChangeEmailDetails {
	s := new(MemberChangeEmailDetails)
	s.NewValue = NewValue
	return s
}
1088058
func NewPaperChangePolicyDetails(NewValue *team_policies.PaperEnabledPolicy) *PaperChangePolicyDetails {
	s := new(PaperChangePolicyDetails)
	s.NewValue = NewValue
	return s
}