@Nullable
  @Override
  protected PsiExpression getModifiedArgument(final PsiExpression expression, final PsiType toType) throws IncorrectOperationException {
    PsiMethodCallExpression call = ObjectUtils.tryCast(PsiUtil.skipParenthesizedExprDown(expression), PsiMethodCallExpression.class);
    if (call == null) return null;
    PsiMethod method = call.resolveMethod();
    if (method == null) return null;
    PsiType type = GenericsUtil.getVariableTypeByExpressionType(toType);
    if (PsiTypes.nullType().equals(type)) return null;

    return JavaPsiFacade.getElementFactory(expression.getProject())
      .createExpressionFromText("(" + type.getCanonicalText() + ")null", expression);
  }
@Nullable
  @Override
  protected PsiExpression getModifiedArgument(final PsiExpression expression, final PsiType toType)