@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater) {
      final PsiIdentifier name = ObjectUtils.tryCast(startElement, PsiIdentifier.class);
      if (name == null) return;
      final PsiReferenceExpression expression = ObjectUtils.tryCast(name.getParent(), PsiReferenceExpression.class);
      if (expression == null) {
        return;
      }
      if (expression instanceof PsiMethodReferenceExpression) {
        PsiElement resolve = expression.resolve();
        if (resolve instanceof PsiMethod) {
          PsiClass containingClass = ((PsiMethod)resolve).getContainingClass();
          if (containingClass != null) {
            PsiExpression qualifierExpression = expression.getQualifierExpression();
            if (qualifierExpression instanceof PsiReferenceExpression) {
              ((PsiReferenceExpression)qualifierExpression).bindToElement(containingClass);
            }
          }
        }
        return;
      }
      final PsiMethodCallExpression call = ObjectUtils.tryCast(expression.getParent(), PsiMethodCallExpression.class);
      if (call == null) {
        return;
      }
      final PsiMethod method = call.resolveMethod();
      if (method == null) {
        return;
      }
      final PsiClass containingClass = method.getContainingClass();
      final PsiExpressionList argumentList = call.getArgumentList();
      if (containingClass == null) {
        return;
      }
      final String containingClassName = containingClass.getQualifiedName();
      CommentTracker commentTracker = new CommentTracker();
      final String argText = commentTracker.text(argumentList);
      final String typeArgText = commentTracker.text(call.getTypeArgumentList());
      final String methodName = expression.getReferenceName();
      PsiReplacementUtil.replaceExpressionAndShorten(call, containingClassName + '.' + typeArgText + methodName + argText, commentTracker);
    }
@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater)