private PsiType expectedPrimitiveType(PsiPrimitiveType type1, PsiType type2) {
      if (TypeConversionUtil.isNumericType(type1)) {
        // JLS 15.21.1. Numerical Equality Operators == and !=
        return TypeConversionUtil.isNumericType(type2) ? TypeConversionUtil.binaryNumericPromotion(type1, type2) : null;
      }
      else if (PsiTypes.booleanType().equals(type1)) {
        // JLS 15.21.2. Boolean Equality Operators == and !=
        return TypeConversionUtil.isBooleanType(type2) ? PsiTypes.booleanType() : null;
      }
      else if (PsiTypes.nullType().equals(type1)) {
        return TypeUtils.getObjectType(wrappedExpression);
      }
      // void
      return null;
    }
private PsiType expectedPrimitiveType(PsiPrimitiveType type1, PsiType type2)