if (!nodeSet.contains(source)) throw new IllegalArgumentException("source is not in the CFG"); if (!nodeSet.contains(dest)) throw new IllegalArgumentException("dest is not in the CFG");
    public Edge addEdge(BasicBlock source, BasicBlock dest, int type) {	Edge edge = new Edge(source, dest, type);	if (outgoingEdgeMap.get(edge) != null) {	    System.out.println("Old: " + outgoingEdgeMap.get(edge));	    System.out.println("New: " + edge);	    System.out.println("Source block:");	    dumpBlock(edge.getSource());	    System.out.println("Dest block:");	    dumpBlock(edge.getDest());	    throw new IllegalStateException();	}	storeEdge(edge);	return edge;    }