@Override
  protected void changeSelfUsage(SelfUsageInfo usageInfo) throws IncorrectOperationException {
    PsiElement element = usageInfo.getElement();
    PsiElement parent = element.getParent();
    if (element instanceof PsiMethodReferenceExpression) {
      if (needLambdaConversion((PsiMethodReferenceExpression)element)) {
        PsiMethodCallExpression methodCallExpression = getMethodCallExpression((PsiMethodReferenceExpression)element);
        if (methodCallExpression == null) return;
        parent = methodCallExpression;
      }
      else {
        PsiElementFactory factory = JavaPsiFacade.getElementFactory(parent.getProject());
        PsiClass memberClass = myMember.getContainingClass();
        LOG.assertTrue(memberClass != null);
        PsiElement qualifier = ((PsiMethodReferenceExpression)element).getQualifier();
        LOG.assertTrue(qualifier != null);
        qualifier.replace(factory.createReferenceExpression(memberClass));
        return;
      }
    }
    LOG.assertTrue(parent instanceof PsiMethodCallExpression, parent);
    PsiMethodCallExpression methodCall = (PsiMethodCallExpression) parent;
    final PsiExpression qualifier = methodCall.getMethodExpression().getQualifierExpression();
    if (qualifier != null) qualifier.delete();

    PsiElementFactory factory = JavaPsiFacade.getElementFactory(methodCall.getProject());
    PsiExpressionList args = methodCall.getArgumentList();
    PsiElement addParameterAfter = null;

    if(mySettings.isMakeClassParameter()) {
      PsiElement arg = factory.createExpressionFromText(mySettings.getClassParameterName(), null);
      addParameterAfter = args.addAfter(arg, null);
    }

    if(mySettings.isMakeFieldParameters()) {
      List<Settings.FieldParameter> parameters = mySettings.getParameterOrderList();
      for (Settings.FieldParameter fieldParameter : parameters) {
        PsiElement arg = factory.createExpressionFromText(fieldParameter.name, null);
        if (addParameterAfter == null) {
          addParameterAfter = args.addAfter(arg, null);
        }
        else {
          addParameterAfter = args.addAfter(arg, addParameterAfter);
        }
      }
    }
  }
@Override
  protected void changeSelfUsage(SelfUsageInfo usageInfo)