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;
 }