void (@NotNull String name, @Nullable String valuePrefix, int caretPosition) { Collection<String> values = getValues(name); if (ContainerUtil.isEmpty(values)) { handleShowPopupForQuery(); return; } CollectionListModel<Object> model = new CollectionListModel<>(values); if (noPrefixSearchValues(model, valuePrefix)) { return; } if (updatePopupOrCreate(SearchPopup.Type.AttributeValue, model, valuePrefix, caretPosition)) { return; } createAndShow(true, new SearchPopupCallback(valuePrefix) { @Override public void consume(String value) { appendSearchText(SearchQueryParser.wrapAttribute(value), prefix); handleShowPopupForQuery(); } }); }