private static void addCatchPhiOperands(final SSAConstructionInfo info,
			final Block block, final LocalExpr def) {
		final Iterator handlers = block.graph().handlers().iterator();

		// Iterate over all of the exception handlers in the CFG. If
		// the block we are dealing with is a protected block (that is,
		// is inside a try block), then the variable represented by info
		// becomes an operand to the PhiCatchStmt residing at the
		// beginning of the protected block's handler.
		while (handlers.hasNext()) {
			final Handler handler = (Handler) handlers.next();

			if (handler.protectedBlocks().contains(block)) {
				final PhiCatchStmt phi = (PhiCatchStmt) info.phiAtBlock(handler
						.catchBlock());

				if ((phi != null) && !phi.hasOperandDef(def)) {
					final LocalExpr operand = (LocalExpr) info.prototype
							.clone();
					operand.setDef(def); // ???
					phi.addOperand(operand);
				}
			}
		}
	}