// Token: 0x06000DCD RID: 3533 RVA: 0x00029468 File Offset: 0x00027668 internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { notFoundReason = null; EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(base.GetObjects <T>(rootId, session, subTreeSession, optionalData, out notFoundReason)); if (!wrapper.HasElements()) { wrapper = EnumerableWrapper <T> .GetWrapper(this.TryGetObjectsFromDC <T>(rootId, subTreeSession, optionalData)); } if (!wrapper.HasElements() && !Guid.Empty.Equals(this.guid) && typeof(T).IsAssignableFrom(typeof(ADGroup))) { ADObjectId containerId; if (session.SessionSettings.CurrentOrganizationId.Equals(OrganizationId.ForestWideOrgId)) { containerId = session.GetConfigurationNamingContext(); } else { containerId = session.SessionSettings.CurrentOrganizationId.ConfigurationUnit; } bool useGlobalCatalog = session.UseGlobalCatalog; bool useConfigNC = session.UseConfigNC; ADGroup adgroup = null; try { session.UseGlobalCatalog = true; session.UseConfigNC = false; adgroup = session.ResolveWellKnownGuid <ADGroup>(this.guid, containerId); } finally { session.UseGlobalCatalog = useGlobalCatalog; session.UseConfigNC = useConfigNC; } if (adgroup != null) { wrapper = EnumerableWrapper <T> .GetWrapper(new List <ADGroup>(1) { adgroup }.Cast <T>()); } } return(wrapper); }