if (VERIFY_INTEGRITY) { 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");
if (VERIFY_INTEGRITY) { if (!blockList.contains(source)) throw new IllegalArgumentException("source is not in the CFG"); if (!blockList.contains(dest)) throw new IllegalArgumentException("dest is not in the CFG"); }  Edge edge = new Edge(source, dest, type); if (VERIFY_INTEGRITY && edgeList.contains(edge)) throw new IllegalArgumentException("CFG already contains edge " + edge);  edgeList.add(edge); source.addOutgoingEdge(edge); dest.addIncomingEdge(edge);  return edge;
    public Edge addEdge(BasicBlock source, BasicBlock dest, int type) {	if (VERIFY_INTEGRITY) {	    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");	}	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;    }