public static IList<Case> GetCasesByTag(string tag, IList<FixFor> milestones = null, FogBugzClientEx fbClient = null)
        {
            string searchQuery = GetMilestonesQueryPart(milestones);  //limit by future milestones
            searchQuery += GetTagQueryPart(tag);

            if (fbClient == null)
                fbClient = Client;

            List<Case> cases = fbClient.GetCases(searchQuery).ToList();
            return cases;
        }
        public static IList<Case> GetCases(int projectId, int milestoneId, int? subProjectParentCaseId = null, int? maxCases = null, FogBugzClientEx fbClient = null)
        {
            var searchQuery = GetProjectQueryPart(projectId);
            searchQuery += " " + GetMilestoneQueryPart(milestoneId);
            searchQuery += " " + GetStatusFilter();

            if (subProjectParentCaseId.HasValue)
                searchQuery += " " + GetSubProjectQueryPart(subProjectParentCaseId.Value);

            if (fbClient == null)
                fbClient = Client;

            List<Case> cases = fbClient.GetCases(searchQuery, maxCases).ToList();
            return cases;
        }