@Override
  public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
    final PsiField psiField = PsiTreeUtil.getParentOfType(element, PsiField.class);
    LOG.assertTrue(psiField != null);

    final PsiType fromType = psiField.getType();

    final PsiClassType toType = getMigrationTargetType(fromType, project, element);
    if (toType == null) return;

    if (!FileModificationService.getInstance().preparePsiElementsForWrite(psiField)) return;
    ConvertFieldToAtomicIntention.addExplicitInitializer(psiField);
    String toTypeCanonicalText = toType.getCanonicalText();
    TypeMigrationVariableTypeFixProvider.runTypeMigrationOnVariable(psiField, toType, editor, false, false);
    ConvertFieldToAtomicIntention.postProcessVariable(psiField, toTypeCanonicalText);
  }
@Override
  public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiElement element)