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