code: def connected_paths(self, path_id, include_self=False):
          
          if len(self.root) == 1:
              path_ids = np.arange(len(self.polygons_closed))
          else:
              path_ids = list(nx.node_connected_component(
                  self.enclosure,
                  path_id))
          if include_self:
              return np.array(path_ids)
          return np.setdiff1d(path_ids, [path_id])
docs: Given an index of self.paths find other paths which
          overlap with that path.
  
          Parameters
          -----------
          path_id : int
            Index of self.paths
          include_self : bool
            Should the result include path_id or not
  
          Returns
          -----------
          path_ids :  (n, ) int
            Indexes of self.paths that overlap input path_id