fact.setIsBottom();
fact.clear();
	public void transferInstruction(InstructionHandle handle,			BasicBlock basicBlock, UnconditionalValueDerefSet fact)			throws DataflowAnalysisException {				if (fact.isTop()) return;		Location location = new Location(handle, basicBlock);				// If this is a call to an assertion method,		// change the dataflow value to be TOP.		// We don't want to report future derefs that would		// be guaranteed only if the assertion methods		// returns normally.		if (isAssertion(handle) ) {			if (DEBUG) System.out.println("MAKING BOTTOM0 AT: " + location);			fact.setIsBottom();			return;		}				if (handle.getInstruction() instanceof ATHROW) {			if (DEBUG) System.out.println("MAKING TOP0 AT: " + location);			makeFactTop(fact);			return;		}					// Get value number frame		ValueNumberFrame vnaFrame = vnaDataflow.getFactAtLocation(location);		if (!vnaFrame.isValid()) {			if (DEBUG) System.out.println("MAKING TOP1 AT: " + location);			// Probably dead code.			// Assume this location can't be reached.			makeFactTop(fact);			return;		}				// Check for calls to a method that unconditionally dereferences		// a parameter.  Mark any such arguments as derefs.		if (CHECK_CALLS && handle.getInstruction() instanceof InvokeInstruction) {			checkUnconditionalDerefDatabase(location, vnaFrame, fact);		}				// If this is a method call instruction,		// check to see if any of the parameters are @NonNull,		// and treat them as dereferences.		if (CHECK_ANNOTATIONS && handle.getInstruction() instanceof InvokeInstruction) {			checkNonNullParams(location, vnaFrame, fact);		}		// Check to see if an instance value is dereferenced here		checkInstance(location, vnaFrame, fact);		if (DEBUG && fact.isTop()) System.out.println("MAKING TOP2 At: " + location);			}