// Token: 0x06000DD6 RID: 3542 RVA: 0x0003FD34 File Offset: 0x0003DF34
        private void ConvertSinglePropertyFilter(SinglePropertyFilter queryFilter, QueryFilter parentFilter)
        {
            ADPropertyDefinition adpropertyDefinition = (ADPropertyDefinition)queryFilter.Property;

            if (adpropertyDefinition.LdapDisplayName == null)
            {
                if (adpropertyDefinition.CustomFilterBuilderDelegate == null)
                {
                    throw new ADFilterException(DirectoryStrings.ExceptionPropertyCannotBeSearchedOn(adpropertyDefinition.Name));
                }
                ComparisonFilter comparisonFilter = queryFilter as ComparisonFilter;
                if (comparisonFilter != null && comparisonFilter.ComparisonOperator == ComparisonOperator.NotEqual)
                {
                    QueryFilter filter = adpropertyDefinition.CustomFilterBuilderDelegate(new ComparisonFilter(ComparisonOperator.Equal, comparisonFilter.Property, comparisonFilter.PropertyValue));
                    this.BuildLdapFilter(QueryFilter.NotFilter(filter), parentFilter);
                    return;
                }
                QueryFilter queryFilter2 = adpropertyDefinition.CustomFilterBuilderDelegate(queryFilter);
                this.BuildLdapFilter(queryFilter2, parentFilter);
                return;
            }
            else
            {
                ComparisonFilter comparisonFilter2 = queryFilter as ComparisonFilter;
                if (comparisonFilter2 != null)
                {
                    this.ConvertComparisonFilter(comparisonFilter2, parentFilter);
                    return;
                }
                ExistsFilter existsFilter = queryFilter as ExistsFilter;
                if (existsFilter != null)
                {
                    this.ConvertExistsFilter(existsFilter);
                    return;
                }
                TextFilter textFilter = queryFilter as TextFilter;
                if (textFilter != null)
                {
                    this.ConvertTextFilter(textFilter);
                    return;
                }
                GenericBitMaskFilter genericBitMaskFilter = queryFilter as GenericBitMaskFilter;
                if (genericBitMaskFilter != null)
                {
                    this.ConvertBitMaskFilter(genericBitMaskFilter);
                    return;
                }
                InChainFilter inChainFilter = queryFilter as InChainFilter;
                if (inChainFilter != null)
                {
                    this.ConvertInChainFilter(inChainFilter);
                }
                return;
            }
        }
        // Token: 0x06000DDD RID: 3549 RVA: 0x000409B4 File Offset: 0x0003EBB4
        private void ConvertBitMaskFilter(GenericBitMaskFilter bitmaskFilter)
        {
            if (bitmaskFilter.GetType() == typeof(BitMaskFilter))
            {
                throw new ADFilterException(DirectoryStrings.ExceptionUnsupportedFilter(bitmaskFilter.GetType().ToString()));
            }
            ADPropertyDefinition adpropertyDefinition = (ADPropertyDefinition)bitmaskFilter.Property;
            string ldapDisplayName = adpropertyDefinition.LdapDisplayName;

            this.IncrementFilterSize();
            this.ldapFilter.Append("(");
            this.ldapFilter.Append(ldapDisplayName);
            if (bitmaskFilter is BitMaskAndFilter)
            {
                this.ldapFilter.Append(":1.2.840.113556.1.4.803:=");
            }
            else
            {
                this.ldapFilter.Append(":1.2.840.113556.1.4.804:=");
            }
            this.ldapFilter.Append(bitmaskFilter.Mask.ToString());
            this.ldapFilter.Append(")");
        }