@Contract("null -> null; !null->!null")
  public static PsiType getVariableTypeByExpressionType(@Nullable PsiType type) {
    return type == null ? null : getVariableTypeByExpressionType(type, true);
  }
@Contract("null -> null; !null->!null")
  public static PsiType getVariableTypeByExpressionType(@Nullable PsiType type)