top.couldBeZero = true;
top.setCouldBeZero(true);
	public void mergeJumps(DismantleBytecode dbc) {				if (!needToMerge) return;		needToMerge = false;		if (convertJumpToOneZeroState == 3 || convertJumpToZeroOneState == 3) { 			pop(); 			Item top = new Item("I");  			top.couldBeZero = true; 			push(top); 			convertJumpToOneZeroState = convertJumpToZeroOneState = 0; 		} 			List<Item> jumpEntry = jumpEntries.get(dbc.getPC()); 		if (jumpEntry != null) {			if (DEBUG) { 			System.out.println("XXXXXXX " + reachOnlyByBranch); 			System.out.println("merging lvValues at jump target " + dbc.getPC() + " -> " + Integer.toString(System.identityHashCode(jumpEntry),16) + " " + jumpEntry); 			System.out.println(" current lvValues " + lvValues);			} 			List<Item> jumpStackEntry = jumpStackEntries.get(dbc.getPC());			if (reachOnlyByBranch) {				lvValues = new ArrayList<Item>(jumpEntry);				if (jumpStackEntry != null) stack = new ArrayList<Item>(jumpStackEntry);				else stack.clear();			}			else {				mergeLists(lvValues, jumpEntry, false);				if (jumpStackEntry != null) mergeLists(stack, jumpStackEntry, false);			}			if (DEBUG) 			System.out.println(" merged lvValues " + lvValues); 		} 			reachOnlyByBranch = false;		}