public static boolean combineObject(SynchronizedBlock synBlock,
			StructuredBlock last) {

		/* Is there another expression? */
		if (!(last.outer instanceof SequentialBlock))
			return false;
		SequentialBlock sequBlock = (SequentialBlock) last.outer;

		if (!(sequBlock.subBlocks[0] instanceof InstructionBlock))
			return false;
		InstructionBlock ib = (InstructionBlock) sequBlock.subBlocks[0];

		if (!(ib.getInstruction() instanceof StoreInstruction))
			return false;
		StoreInstruction assign = (StoreInstruction) ib.getInstruction();

		if (!(assign.getLValue() instanceof LocalStoreOperator))
			return false;
		LocalStoreOperator lvalue = (LocalStoreOperator) assign.getLValue();

		if (lvalue.getLocalInfo() != synBlock.local.getLocalInfo()
				|| assign.getSubExpressions()[1] == null)
			return false;

		synBlock.object = assign.getSubExpressions()[1];
		synBlock.moveDefinitions(last.outer, last);
		last.replace(last.outer);
		return true;
	}