@Override
  public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
    PsiVariable var = getVariable(element);
    LOG.assertTrue(var != null);

    PsiType fromType = var.getType();
    PsiClassType toType = getMigrationTargetType(element, fromType);
    if (toType == null) return;

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