void (UsageInfo @NotNull [] usages) { finishFindMigration(); final PsiMigration psiMigration = PsiMigrationManager.getInstance(myProject).startMigration(); LocalHistoryAction a = LocalHistory.getInstance().startAction(getCommandName()); myRefsToShorten = new ArrayList<>(); try { boolean sameShortNames = false; for (int i = 0; i < myMigrationMap.getEntryCount(); i++) { MigrationMapEntry entry = myMigrationMap.getEntryAt(i); String newName = entry.getNewName(); PsiElement element = entry.getType() == MigrationMapEntry.PACKAGE ? MigrationUtil.findOrCreatePackage(myProject, psiMigration, newName) : MigrationUtil.findOrCreateClass(myProject, psiMigration, newName)[0]; MigrationUtil.doMigration(element, newName, usages, myRefsToShorten); if (!sameShortNames && Comparing.strEqual(StringUtil.getShortName(entry.getOldName()), StringUtil.getShortName(entry.getNewName()))) { sameShortNames = true; } } if (!sameShortNames) { myRefsToShorten.clear(); } } finally { a.finish(); psiMigration.finish(); } }