CachedExceptionSet cachedExceptionSet = computeBlockExceptionSet(basicBlock, (TypeFrame) result);
cachedExceptionSet = computeBlockExceptionSet(basicBlock, (TypeFrame) result);
	public void endTransfer(BasicBlock basicBlock, InstructionHandle end, Object result)		throws DataflowAnalysisException {		// Do nothing if we're not computing propagated exceptions		if (!ACCURATE_EXCEPTIONS)			return;		// Also, nothing to do if the block is not an exception thrower		if (!basicBlock.isExceptionThrower())			return;		// 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.		// 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));		}	}