// Token: 0x06000DBB RID: 3515 RVA: 0x00028ED0 File Offset: 0x000270D0
        internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
        {
            TaskLogger.LogEnter();
            if (!typeof(RemovedMailbox).IsAssignableFrom(typeof(T)))
            {
                throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type");
            }
            if (session == null)
            {
                throw new ArgumentNullException("session");
            }
            if (base.InternalADObjectId == null && string.IsNullOrEmpty(base.RawIdentity))
            {
                throw new InvalidOperationException(Strings.ErrorOperationOnInvalidObject);
            }
            notFoundReason = null;
            string     orgName    = null;
            string     text       = base.RawIdentity;
            ADObjectId adobjectId = base.InternalADObjectId ?? RemovedMailboxIdParameter.GetObjectIdFromCanonicalName(base.RawIdentity);

            if (adobjectId == null && !string.IsNullOrEmpty(base.RawIdentity))
            {
                int num = base.RawIdentity.IndexOf('\\');
                if (num > 0 && base.RawIdentity.Length > num + 1)
                {
                    orgName = base.RawIdentity.Substring(0, num);
                    text    = base.RawIdentity.Substring(num + 1);
                }
            }
            QueryFilter      queryFilter;
            bool             flag = this.TryGetOrganizationFilter(rootId, adobjectId, orgName, out queryFilter);
            ComparisonFilter databaseRetentionPeriodFilter = this.GetDatabaseRetentionPeriodFilter();
            QueryFilter      basicFilter = QueryFilter.AndTogether(new QueryFilter[]
            {
                queryFilter,
                new ExistsFilter(RemovedMailboxSchema.PreviousDatabase),
                databaseRetentionPeriodFilter
            });
            EnumerableWrapper <T> enumerableWrapper = EnumerableWrapper <T> .Empty;

            if (adobjectId != null)
            {
                enumerableWrapper = this.SearchByObjectId <T>(adobjectId, session, optionalData, basicFilter);
            }
            if (flag && (enumerableWrapper == null || !enumerableWrapper.HasElements()) && !string.IsNullOrEmpty(text))
            {
                enumerableWrapper = this.SearchByObjectAttributes <T>(session, optionalData, text, basicFilter);
            }
            enumerableWrapper = EnumerableWrapper <T> .GetWrapper(enumerableWrapper);

            TaskLogger.LogExit();
            return(enumerableWrapper);
        }
 // Token: 0x06000DB7 RID: 3511 RVA: 0x00028E7F File Offset: 0x0002707F
 public RemovedMailboxIdParameter(PSObject removedMailbox) : base(RemovedMailboxIdParameter.GetRemovedMailboxName(removedMailbox))
 {
 }