code: def _create_edge_by_target(self):
          
          ebt = {}
          for edge_dict in self._edge_by_source.values():
              for edge_id, edge in edge_dict.items():
                  target_id = edge['@target']
                  edge['@id'] = edge_id
                  assert target_id not in ebt
                  ebt[target_id] = edge
          # _check_rev_dict(self._tree, ebt)
          return ebt
docs: creates a edge_by_target dict with the same edge objects as the edge_by_source.
          Also adds an '@id' field to each edge.