/// <summary>
        /// clones instance of this filter with cloning of all instances of contained atomic filters
        /// </summary>
        /// <returns></returns>
        public override FilterExpressionData Clone()
        {
            FltFlatGroupExprData fsg = new FltFlatGroupExprData(this.AndOr);

            foreach (KeyValuePair <string, FltAtomExprData> kv in this.FieldFilters)
            {
                fsg.FieldFilters.Add(kv.Key, kv.Value.Clone() as FltAtomExprData);
            }
            fsg.Negate = this.Negate;
            return(fsg);
        }
 public CollectionFilterData()
 {
     FieldsFilter = new FltFlatGroupExprData(eAndOrJoin.And);
 }