internal T FindSiteEdgeSyncConnector <T>(IConfigurationSession session, ADObjectId siteId, out bool hasOneConnectorEnabledInCurrentForest) where T : EdgeSyncConnector, new() { List <T> connectors = new List <T>(); hasOneConnectorEnabledInCurrentForest = true; ADNotificationAdapter.ReadConfigurationPaged <T>(() => session.FindPaged <T>(siteId, QueryScope.SubTree, null, null, 0), delegate(T connector) { if (connector.Enabled) { connectors.Add(connector); } }, 3); if (connectors.Count == 0) { ADNotificationAdapter.ReadConfigurationPaged <T>(() => session.FindPaged <T>(null, QueryScope.SubTree, null, null, 0), delegate(T connector) { if (connector.Enabled) { connectors.Add(connector); } }, 3); hasOneConnectorEnabledInCurrentForest = (connectors.Count > 0); return(default(T)); } return(connectors[0]); }