NonNullContractCollector nonNullContractCollector = new NonNullContractCollector(nonNullParamDatabase, checkForNullParamDatabase); nonNullContractCollector.findContractForCallSite(invokeInstruction, cpg);   int numParams = new SignatureParser(invokeInstruction.getSignature(cpg)).getNumParameters(); if (DEBUG_NULLARG) { System.out.println("Checking " + numParams + " parameter(s)");
XMethod m = XFactory.createXMethod(invokeInstruction, cpg); if (m.getClassName().startsWith("java")) {  return;
	private void checkNonNullParam(			Location location, 			ConstantPoolGen cpg,			TypeDataflow typeDataflow,			InvokeInstruction invokeInstruction,			BitSet nullArgSet,			BitSet definitelyNullArgSet) throws ClassNotFoundException {				// Go up the class hierarchy finding @NonNull and @CheckForNull annotations		// for parameters.		NonNullContractCollector nonNullContractCollector = new NonNullContractCollector(nonNullParamDatabase, checkForNullParamDatabase);		nonNullContractCollector.findContractForCallSite(invokeInstruction, cpg);		// See if any null arguments violate a @NonNull annotation.		int numParams = new SignatureParser(invokeInstruction.getSignature(cpg)).getNumParameters();		if (DEBUG_NULLARG) {			System.out.println("Checking " + numParams + " parameter(s)");		}		BitSet violatedParamSet = new BitSet();		List<NonNullParamViolation> violationList = new LinkedList<NonNullParamViolation>();		nonNullContractCollector.getViolationList(numParams, nullArgSet, violationList, violatedParamSet);		if (violationList.isEmpty())			return;		// Issue a warning				XMethod xmethod = XMethodFactory.createXMethod(invokeInstruction, cpg);				WarningPropertySet propertySet = new WarningPropertySet();		MethodGen methodGen = classContext.getMethodGen(method);		String sourceFile = classContext.getJavaClass().getSourceFileName();		BugInstance warning = new BugInstance("NP_NONNULL_PARAM_VIOLATION", NORMAL_PRIORITY)			.addClassAndMethod(methodGen, sourceFile)			.addSourceLine(classContext, methodGen, sourceFile, location.getHandle())			.addMethod(xmethod).describe("METHOD_CALLED");				addParamAnnotations(definitelyNullArgSet, violatedParamSet, propertySet, warning);				for (NonNullParamViolation violation : violationList) {			warning.addMethod(violation.getClassAndMethod());			warning.addInt(violation.getParam()).describe("INT_NONNULL_PARAM");		}		decorateWarning(location, propertySet, warning);				bugReporter.reportBug(warning);	}