void (@NotNull ComponentContext context, @NotNull ComponentContextProcessor processor) { @Nullable Integer level = context.level; PsiClass recordClass = context.recordClass; PsiStatement scope = context.base.getBody(); boolean showAsInfo = false; if (!recordClass.isRecord() || recordClass.getRecordComponents().length == 0) { return; } if ((level != null && level > context.options.maxLevel) || recordClass.getRecordComponents().length > context.options.maxComponentCount) { if (!context.options.isOnTheFly) { return; } showAsInfo = true; } List<? extends PsiElement> references = VariableAccessUtils.getVariableReferences(context.currentParameter, scope); Map<String, List<PsiElement>> components = processReferences(references, context); if (components.isEmpty()) { return; } PsiRecordComponent[] recordComponents = recordClass.getRecordComponents(); if (recordComponents.length - components.size() > context.options.maxNotUsedComponentCount) { if (!context.options.isOnTheFly) { return; } showAsInfo = true; } context.showInfoFolder.showInfo = context.showInfoFolder.showInfo || showAsInfo; processor.accept(context, components); }