docs: def aggregate(self, merge):
          """Combine this network with another network. The aggregation step
          takes the union of the edges in the two networks, where we take the
          sum of weights for edges common to both networks.
  
          Parameters
          -----------
          merge : CoNetwork
            the CoNetwork object being merged into the current network.
          """
          self.features = set()
          self.n_features += merge.n_features
  
          vertex_id_conversion = self.convert_pathway_mapping(merge.pathways)
          for edge_id, edge in merge.edges.items():
              edge_key = self.remapped_edge(
                  vertex_id_conversion, edge_id)
              if edge_key in self.edges:
                  if self.edges[edge_key].which_features:
                      self.edges[edge_key].which_features = []
                  self.edges[edge_key].weight += edge.weight
              else:
                  vertex0_id, vertex1_id = edge_key
                  new_edge_obj = Edge(vertex0_id, vertex1_id, [])
                  new_edge_obj.weight = edge.weight
                  self.edges[edge_key] = new_edge_obj
                  self._add_edge_to_vertex(vertex0_id, new_edge_obj)
                  self._add_edge_to_vertex(vertex1_id, new_edge_obj)