public override bool Satisfies(DataElement obj) { bool result; List <string> val; bool applicable = obj.GetEnumListFromDataPath(dpath, out val); if (!applicable) { result = false; } else { switch (FilterType) { case EnumListFilterType.CONTAINS: { result = false; foreach (string e in val) { if (e == RefValue) { result = true; break; } } } break; default: result = false; break; } } return(result ^ NegateResult); }