code: def _node_is_match(qualified_name, package_names, fqn):
      
      if len(qualified_name) == 1 and fqn[-1] == qualified_name[0]:
          return True
  
      if qualified_name[0] in package_names:
          if is_selected_node(fqn, qualified_name):
              return True
  
      for package_name in package_names:
          local_qualified_node_name = [package_name] + qualified_name
          if is_selected_node(fqn, local_qualified_node_name):
              return True
  
      return False
docs: Determine if a qualfied name matches an fqn, given the set of package
      names in the graph.
  
      :param List[str] qualified_name: The components of the selector or node
          name, split on '.'.
      :param Set[str] package_names: The set of pacakge names in the graph.
      :param List[str] fqn: The node's fully qualified name in the graph.