if (!ACCURATE_EXCEPTIONS) return;
	public void endTransfer(BasicBlock basicBlock, InstructionHandle end, Object result)		throws DataflowAnalysisException {		// Figure out what exceptions can be thrown out		// of the basic block, and mark each exception edge		// with the set of exceptions which can be propagated		// along the edge.		if (basicBlock.isExceptionThrower()) {			try {				// Compute exceptions that can be thrown by the				// basic block.				CachedExceptionSet cachedExceptionSet =					computeBlockExceptionSet(basicBlock, (TypeFrame) result);				// For each outgoing exception edge, compute exceptions				// that can be thrown.  This assumes that the exception				// edges are enumerated in decreasing order of priority.				// In the process, this will remove exceptions from				// the thrown exception set.				ExceptionSet thrownExceptionSet = cachedExceptionSet.getExceptionSet().duplicate();				for (Iterator<Edge> i = cfg.outgoingEdgeIterator(basicBlock); i.hasNext(); ) {					Edge edge = i.next();					if (!edge.isExceptionEdge())						continue;					cachedExceptionSet.setEdgeExceptionSet(						edge, computeEdgeExceptionSet(edge, thrownExceptionSet));				}			} catch (ClassNotFoundException e) {				lookupFailureCallback.reportMissingClass(e);				throw new DataflowAnalysisException("Could not enumerate exception types for block", e);			}		}	}