CodeExceptionGen exceptionGen = basicBlock.getExceptionGen(); if (exceptionGen != null) {
if (basicBlock.isExceptionHandler()) {
	public void transfer(BasicBlock basicBlock, InstructionHandle end, TypedFrame start, TypedFrame result) throws DataflowAnalysisException {		CodeExceptionGen exceptionGen = basicBlock.getExceptionGen(); 		if (exceptionGen != null) {			// The block is an exception handler, change the stack so that only			// the exception type is on it.  This means we ignore the start			// value given to us, because it is almost certainly the BOTTOM frame.			result.clearStack();			result.pushValue(exceptionGen.getCatchType());		} else {			// Ordinary basic block (not an exception handler).			// Just use the start value.			result.copyFrom(start);		}		// Now the fun part: modeling every bytecode!		FrameTypeModelingVisitor visitor = new FrameTypeModelingVisitor(result, methodGen.getConstantPool());		Iterator<InstructionHandle> i = basicBlock.instructionIterator();		while (i.hasNext()) {			InstructionHandle handle = i.next();			if (handle == end)				break;			handle.getInstruction().accept(visitor);		}	}