code: def find_string_ids(self, substring, suffix_tree_id, limit=None):
          
  
          # Find an edge for the substring.
          edge, ln = self.find_substring_edge(substring=substring, suffix_tree_id=suffix_tree_id)
  
          # If there isn't an edge, return an empty set.
          if edge is None:
              return set()
  
          # Get all the string IDs beneath the edge's destination node.
          string_ids = get_string_ids(
              node_id=edge.dest_node_id,
              node_repo=self.node_repo,
              node_child_collection_repo=self.node_child_collection_repo,
              stringid_collection_repo=self.stringid_collection_repo,
              length_until_end=edge.length + 1 - ln,
              limit=limit
          )
  
          # Return a set of string IDs.
          return set(string_ids)
docs: Returns a set of IDs for strings that contain the given substring.