@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiField field, @NotNull ModPsiUpdater updater) {
    final PsiClass aClass = field.getContainingClass();
    if (aClass == null) return;

    final Collection<PsiMethod> methodsToAddInitialization = getOrCreateMethods(aClass);

    if (methodsToAddInitialization.isEmpty()) return;

    final List<PsiExpressionStatement> assignments = addFieldAssignments(field, methodsToAddInitialization);
    PsiExpression initializer = field.getInitializer();
    if (initializer != null) {
      initializer.delete();
    }

    if (!assignments.isEmpty()) {
      PsiExpression expression = ((PsiAssignmentExpression)assignments.get(0).getExpression()).getRExpression();
      if (expression != null) {
        updater.highlight(expression);
      }
    }
  }
@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiField field, @NotNull ModPsiUpdater updater)