protected override bool IsMatchCore(CimInstance cimInstance)
            {
                bool flag = false;
                IEnumerator <ClientSideQuery.PropertyValueFilter> enumerator = this.PropertyValueFilters.GetEnumerator();

                using (enumerator)
                {
                    do
                    {
Label0:
                        if (!enumerator.MoveNext())
                        {
                            break;
                        }
                        ClientSideQuery.PropertyValueFilter current = enumerator.Current;
                        if (current.IsMatch(cimInstance))
                        {
                            flag = true;
                        }
                        else
                        {
                            goto Label0;
                        }
                    }while (base.BehaviorOnNoMatch != BehaviorOnNoMatch.SilentlyContinue);
                }
                return(flag);
            }
            public bool IsMatch(CimInstance o)
            {
                bool flag;
                bool flag1;

                if (o != null)
                {
                    CimProperty item = o.CimInstanceProperties[this.propertyName];
                    if (item != null)
                    {
                        object value = item.Value;
                        if (this._cimTypedExpectedPropertyValue != null)
                        {
                            value = this.ConvertActualValueToExpectedType(value, this._cimTypedExpectedPropertyValue);
                            bool flag2 = this.IsMatchingValue(value);
                            ClientSideQuery.PropertyValueFilter propertyValueFilter = this;
                            if (this.hadMatch)
                            {
                                flag = true;
                            }
                            else
                            {
                                flag = flag2;
                            }
                            propertyValueFilter.hadMatch = flag;
                            return(flag2);
                        }
                        else
                        {
                            ClientSideQuery.PropertyValueFilter propertyValueFilter1 = this;
                            if (this.hadMatch)
                            {
                                flag1 = true;
                            }
                            else
                            {
                                flag1 = value == null;
                            }
                            propertyValueFilter1.hadMatch = flag1;
                            return(value == null);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
 protected void AddPropertyValueFilter(ClientSideQuery.PropertyValueFilter propertyValueFilter)
 {
     this._propertyValueFilters.Add(propertyValueFilter);
 }