if (VERIFY_INTEGRITY && edgeList.contains(edge)) throw new IllegalArgumentException("CFG already contains edge " + edge);
	public Edge addEdge(BasicBlock source, BasicBlock dest, int type) {		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;	}