public WorkListFilterParameter.FilterMatchType MatchCase(Case caseObj)
        {
            if (!this.IsValid)
            {
                return WorkListFilterParameter.FilterMatchType.NotApplicable;
            }

            WorkListFilterParameter.FilterMatchType matchType = WorkListFilterParameter.FilterMatchType.NotApplicable;

            foreach (WorkListFilterParameter item in this.Parameters)
            {
                matchType = item.MatchCase(caseObj.GetField(item.Field));
                if (matchType == WorkListFilterParameter.FilterMatchType.NotMatch)
                {
                    // no need to check further
                    break;
                }
            }

            return matchType;
        }