public IEnumerable <KeyValuePair <string, List <byte[]> > > GetStatesToUpdate() { if (this.IsEmpty) { throw new InvalidOperationException("Should not update the state in AD if there is no change to update."); } if (this.orgAdminMembers != null) { yield return(EhfAdminSyncState.GetStateToUpdateForAttribute(this.orgAdminMembers, "msExchTargetServerAdmins")); } if (this.viewOnlyOrgAdminMembers != null) { yield return(EhfAdminSyncState.GetStateToUpdateForAttribute(this.viewOnlyOrgAdminMembers, "msExchTargetServerViewOnlyAdmins")); } if (this.adminAgentMembers != null) { yield return(EhfAdminSyncState.GetStateToUpdateForAttribute(this.adminAgentMembers, "msExchTargetServerPartnerAdmins")); } if (this.helpDeskAgentMembers != null) { yield return(EhfAdminSyncState.GetStateToUpdateForAttribute(this.helpDeskAgentMembers, "msExchTargetServerPartnerViewOnlyAdmins")); } yield break; }