crossingsGraph = new IdentityHashMap<Edge,List<Edge>>();
SortedSet<Edge> edges = dg.getEdges();
//System.out.println(edges.size());
//System.out.println(dg.nEdges());
for (Iterator<Edge> iterator1 = edges.iterator(); iterator1.hasNext();) {
Edge edge1 = iterator1.next();
for (Iterator<Edge> iterator2 = edges.iterator(); iterator2.hasNext();) {
Edge edge2 = iterator2.next();
if ( edge1.getSource().getIndex() < edge2.getSource().getIndex() && cross(edge1,edge2) )
{
//System.out.println("Crossing!");
List<Edge> crossingEdge1 = crossingsGraph.get(edge1);
if ( crossingEdge1 == null ) { crossingEdge1 = new LinkedList<Edge>(); crossingsGraph.put(edge1, crossingEdge1); }
crossingEdge1.add(edge2);