public static boolean createFunny(ConditionalBlock cb, StructuredBlock last) {

		if (cb.jump == null
				|| !(cb.getInstruction() instanceof CompareUnaryOperator)
				|| !(last.outer instanceof SequentialBlock)
				|| !(last.outer.getSubBlocks()[0] instanceof IfThenElseBlock))
			return false;

		CompareUnaryOperator compare = (CompareUnaryOperator) cb
				.getInstruction();

		FlowBlock trueDestination;
		FlowBlock falseDestination;
		if (compare.getOperatorIndex() == compare.EQUALS_OP) {
			trueDestination = cb.jump.destination;
			falseDestination = cb.trueBlock.jump.destination;
		} else if (compare.getOperatorIndex() == compare.NOTEQUALS_OP) {
			falseDestination = cb.jump.destination;
			trueDestination = cb.trueBlock.jump.destination;
		} else
			return false;

		Expression[] e = new Expression[3];
		IfThenElseBlock ifBlock;

		SequentialBlock sequBlock = (SequentialBlock) last.outer;
		return createFunnyHelper(trueDestination, falseDestination,
				sequBlock.subBlocks[0]);
	}