void (TypeMigrationUsageInfo usageInfo, PsiType type, PsiElement place, boolean alreadyProcessed) { if (myCurrentRoot != null) { if (!alreadyProcessed) { myProcessedRoots.add(usageInfo); } if (myProcessedRoots.contains(usageInfo)) { HashSet<Pair<TypeMigrationUsageInfo, PsiType>> infos = myRootsTree.get(myCurrentRoot); if (infos == null) { infos = new HashSet<>(); myRootsTree.put(myCurrentRoot, infos); } infos.add(Pair.create(usageInfo, type)); } if (!(usageInfo instanceof OverriderUsageInfo)) { //hide the same usage for all overriders setTypeUsage(usageInfo, place); } } }