code: def _handle_resource_entry(self, resource_name, entry,
                                 projectarea_url=None, archived=False,
                                 filter_rule=None):
          
  
          if projectarea_url is not None:
              try:
                  if (entry.get("rtc_cm:projectArea")
                           .get("@rdf:resource")) != projectarea_url:
                      return None
              except AttributeError:
                  pass
  
          if filter_rule is not None:
              # match all the filter rules
              for frule in filter_rule:
                  fattr, rdf_resource, fvalue = frule
                  try:
                      if rdf_resource is not None:
                          frule_value = entry.get(fattr).get(rdf_resource)
                      else:
                          frule_value = entry.get(fattr)
  
                      if frule_value != fvalue:
                          return None
                  except AttributeError:
                      pass
  
          entry_archived = entry.get("rtc_cm:archived")
          if (entry_archived is not None and
                  eval(entry_archived.capitalize()) != archived):
              return None
  
          if resource_name == "Subscriber":
              resource_cls = Member
          elif resource_name in ["Query", "RunQuery", "Parent", "Children"]:
              resource_cls = Workitem
          else:
              resource_cls = eval(resource_name)
  
          if resource_name in ["Workitem",
                               "Query",
                               "RunQuery",
                               "Parent",
                               "Children"]:
              resource_url = entry.get("@rdf:resource")
              resource_url = "/".join([self.url,
                                       "oslc/workitems",
                                       resource_url.split("/")[-1]])
          else:
              resource_url = entry.get("@rdf:resource")
  
          resource = resource_cls(resource_url,
                                  self,
                                  raw_data=entry)
          return resource
docs: :param filter_rule: a list of filter rules
              e.g. filter_rule = [("dc:creator", "@rdf:resource",
                                   "https://test.url:9443/jts/users/me%40mail"),
                                  ("dc:modified", None,
                                   "2013-08-28T02:06:26.516Z")
                                  ]
              only the entry matches all the rules will be kept