*
* @return a list with the created higher level edges
*/
private List<Edge> createHighLevelEdges(Map<MultiKey, List<Edge>> nodePairToEdgeMap, String edgeType) {
// use the second edge map to store aggregated edges
EdgeMap aggregatedToContainedEdges = getAggregatedEdgeMap();
List<Edge> addedHighLevelEdges = new ArrayList<Edge>();
for (Entry<MultiKey, List<Edge>> entry : nodePairToEdgeMap.entrySet()) {
Node source = (Node) entry.getKey().getKey(0);
Node target = (Node) entry.getKey().getKey(1);
List<Edge> lowLevelEdges = entry.getValue();
// insert a new edge with the strength corr. to the number of
// aggregated edges
Edge highLevelEdge = getHierarchyManager().createEdge(source, target);
addedHighLevelEdges.add(highLevelEdge);
aggregatedToContainedEdges.set(highLevelEdge, lowLevelEdges);
for (Edge lowLevelEdge : lowLevelEdges) {
try {
getRootGraph().removeEdge(lowLevelEdge);
} catch (IllegalArgumentException iae) {