code: def build_sanitiser_node_dict(
      cfg,
      sinks_in_file
  ):
      
      sanitisers = list()
      for sink in sinks_in_file:
          sanitisers.extend(sink.sanitisers)
  
      sanitisers_in_file = list()
      for sanitiser in sanitisers:
          for cfg_node in cfg.nodes:
              if sanitiser in cfg_node.label:
                  sanitisers_in_file.append(Sanitiser(sanitiser, cfg_node))
  
      sanitiser_node_dict = dict()
      for sanitiser in sanitisers:
          sanitiser_node_dict[sanitiser] = list(find_sanitiser_nodes(
              sanitiser,
              sanitisers_in_file
          ))
      return sanitiser_node_dict
docs: Build a dict of string -> TriggerNode pairs, where the string
         is the sanitiser and the TriggerNode is a TriggerNode of the sanitiser.
  
      Args:
          cfg(CFG): cfg to traverse.
          sinks_in_file(list[TriggerNode]): list of TriggerNodes containing
                                            the sinks in the file.
  
      Returns:
          A string -> TriggerNode dict.