if (DEBUG) System.out.println("vna frame after instruction: " + vnaFrame.toString());
if (DEBUG) { System.out.println("vna frame after instruction: " + vnaFrame.toString()); System.out.println("Lock value number: " + lock.getLockValue()); if (lock.getLockValue().hasFlag(ValueNumber.RETURN_VALUE) ) System.out.println("is return value"); }
		public void transferInstruction(InstructionHandle handle, BasicBlock basicBlock) throws DataflowAnalysisException {			final Instruction ins = handle.getInstruction();			final ConstantPoolGen cpg = getCPG();			final ResourceValueFrame frame = getFrame();			int status = -1;			if (DEBUG) System.out.println("PC : " + handle.getPosition() + " " + ins);			if (DEBUG && ins instanceof InvokeInstruction) {				InvokeInstruction iins = (InvokeInstruction) ins;				System.out.println("  " + ins.toString(cpg.getConstantPool()));			}			// Is a lock acquired or released by this instruction?			Location creationPoint = lock.getLocation();			if (handle == creationPoint.getHandle() && basicBlock == creationPoint.getBasicBlock()) {				status = ResourceValueFrame.OPEN;				if (DEBUG) System.out.println("OPEN");			} else if (resourceTracker.isResourceClose(basicBlock, handle, cpg, lock, frame)) {				status = ResourceValueFrame.CLOSED;				if (DEBUG) System.out.println("CLOSE");			}			// Model use of instance values in frame slots			analyzeInstruction(ins);			final int updatedNumSlots = frame.getNumSlots();			// Mark any appearances of the lock value in the ResourceValueFrame.			ValueNumberFrame vnaFrame = vnaDataflow.getFactAfterLocation(new Location(handle, basicBlock));			if (DEBUG) System.out.println("vna frame after instruction: " + vnaFrame.toString());			for (int i = 0; i < updatedNumSlots; ++i) {				if (lock.getLockValue().hasFlag(ValueNumber.RETURN_VALUE) 						&& vnaFrame.getValue(i).hasFlag(ValueNumber.RETURN_VALUE) 						|| vnaFrame.getValue(i).equals(lock.getLockValue())) {					if (DEBUG) System.out.println("Saw lock value!");					frame.setValue(i, ResourceValue.instance());				}			}						// If needed, update frame status			if (status != -1) {				frame.setStatus(status);			}			if (DEBUG) System.out.println("resource frame after instruction: " + frame.toString());		}