void (@NotNull PsiElement element, @NotNull InlayParameterHintsProvider provider) { List<InlayInfo> hints = provider.getParameterHints(element, myFile); if (hints.isEmpty()) return; HintInfo info = provider.getHintInfo(element, myFile); boolean showHints = info == null || info instanceof HintInfo.OptionInfo || myHintInfoFilter.showHint(info); Stream<InlayInfo> inlays = hints.stream(); if (!showHints) { inlays = inlays.filter(inlayInfo -> !inlayInfo.isFilterByExcludeList()); } inlays.forEach(hint -> { int offset = hint.getOffset(); if (!canShowHintsAtOffset(offset)) return; if (ParameterNameHintsSuppressor.All.isSuppressedFor(myFile, hint)) return; String presentation = provider.getInlayPresentation(hint.getText()); if (hint.isShowOnlyIfExistedBefore()) { myShowOnlyIfExistedBeforeHints.put(offset, presentation); } else { List<HintData> hintList = myHints.get(offset); if (hintList == null) myHints.put(offset, hintList = new ArrayList<>()); HintWidthAdjustment widthAdjustment = convertHintPresentation(hint.getWidthAdjustment(), provider); hintList.add(new HintData(presentation, hint.getRelatesToPrecedingText(), widthAdjustment)); } }); }