if (end == null && prevLocation != null) {  Location lastLocation = prevLocation; Fact factAfterLocation = getFactAfterLocation(lastLocation); copy(result, factAfterLocation); }
	public void transfer(BasicBlock basicBlock, InstructionHandle end, Fact start, Fact result) throws DataflowAnalysisException {		copy(start, result);		if (isFactValid(result)) {			Iterator<InstructionHandle> i = isForwards() ? basicBlock.instructionIterator() : basicBlock.instructionReverseIterator();			while (i.hasNext()) {				InstructionHandle handle = i.next();				if (handle == end)					break;					// Record the fact at this location				Fact factAtLocation = getFactAtLocation(new Location(handle, basicBlock));				copy(result, factAtLocation);					// Transfer the dataflow value				transferInstruction(handle, basicBlock, result);			}		}	}