void (@NotNull Project project, CommonProblemDescriptor @NotNull [] descriptors, @NotNull List<PsiElement> psiElementsToIgnore, @Nullable Runnable refreshViews) { List<Pair<AddMissingPropertyFix, PsiElement>> propFixes = new ArrayList<>(); for (CommonProblemDescriptor descriptor: descriptors) { if (!(descriptor instanceof ProblemDescriptor)) continue; QuickFix[] fixes = descriptor.getFixes(); if (fixes == null) continue; AddMissingPropertyFix fix = getWorkingQuickFix(fixes); if (fix == null) continue; propFixes.add(Pair.create(fix, ((ProblemDescriptor)descriptor).getPsiElement())); } DocumentUtil.writeInRunUndoTransparentAction(() -> propFixes.forEach(fix -> fix.first.performFix(fix.second, Ref.create(false)))); }