// Token: 0x06000C32 RID: 3122 RVA: 0x00026710 File Offset: 0x00024910
        IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
        {
            if (session == null)
            {
                throw new ArgumentNullException("session");
            }
            if (null == this.InternalMessageCategoryId)
            {
                throw new InvalidOperationException(Strings.ErrorOperationOnInvalidObject);
            }
            MessageCategoryDataProvider messageCategoryDataProvider = session as MessageCategoryDataProvider;

            if (messageCategoryDataProvider == null)
            {
                throw new NotSupportedException("DataProvider: " + session.GetType().FullName);
            }
            IConfigurable[] array = messageCategoryDataProvider.Find <T>(null, this.InternalMessageCategoryId, false, null);
            if (array == null || array.Length == 0)
            {
                notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString()));
                return(new T[0]);
            }
            notFoundReason = null;
            T[] array2 = new T[array.Length];
            int num    = 0;

            foreach (IConfigurable configurable in array)
            {
                array2[num++] = (T)((object)configurable);
            }
            return(array2);
        }