if (rhsType instanceof NullType || lhsType instanceof NullType) return;
	private void checkRefComparison(			Location location,			JavaClass jclass,			MethodGen methodGen,			RefComparisonTypeFrameModelingVisitor visitor,			TypeDataflow typeDataflow,			List<WarningWithProperties> stringComparisonList,			List<WarningWithProperties> refComparisonList) throws DataflowAnalysisException {		InstructionHandle handle = location.getHandle();		TypeFrame frame = typeDataflow.getFactAtLocation(location);		if (frame.getStackDepth() < 2)			throw new DataflowAnalysisException("Stack underflow", methodGen, handle);		int numSlots = frame.getNumSlots();		Type lhsType = frame.getValue(numSlots - 1);		Type rhsType = frame.getValue(numSlots - 2);		if (rhsType instanceof NullType || lhsType instanceof NullType) return;		if (lhsType instanceof ReferenceType && rhsType instanceof ReferenceType) {			String lhs = SignatureConverter.convert(lhsType.getSignature());			String rhs = SignatureConverter.convert(rhsType.getSignature());			if (!lhs.equals(rhs))				return;			if (lhs.equals("java.lang.String")) {				handleStringComparison(jclass, methodGen, visitor, stringComparisonList, location, lhsType, rhsType);			} else if (suspiciousSet.contains(lhs)) {				handleSuspiciousRefComparison(jclass, methodGen, refComparisonList, location, lhs);			}		}	}