private void createPopup(Project project) {
    final JPanel panel = new JPanel(new BorderLayout());
    final EditorTextFieldProvider service =
        ServiceManager.getService(project, EditorTextFieldProvider.class);
    myEditorField =
        service.getEditorField(
            FileTypes.PLAIN_TEXT.getLanguage(),
            project,
            Collections.singletonList(EditorCustomization.Feature.SOFT_WRAP),
            Collections.singletonList(EditorCustomization.Feature.SPELL_CHECK));
    myEditorField.setBorder(
        new CompoundBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2), myEditorField.getBorder()));
    myEditorField.setText("s");
    myEditorField.setText(myCurrentText);
    myEditorField.setOneLineMode(false);
    panel.add(myEditorField, BorderLayout.CENTER);

    myTextFieldCompletionProvider =
        new TextFieldCompletionProviderDumbAware(true) {
          @NotNull
          @Override
          protected String getPrefix(@NotNull String currentTextPrefix) {
            final int text = currentTextPrefix.lastIndexOf(',');
            return text == -1 ? currentTextPrefix : currentTextPrefix.substring(text + 1).trim();
          }

          @Override
          protected void addCompletionVariants(
              @NotNull String text,
              int offset,
              @NotNull String prefix,
              @NotNull CompletionResultSet result) {
            final List<String> list = myUsers.get();
            if (list != null) {
              for (String completionVariant : list) {
                final LookupElementBuilder element = LookupElementBuilder.create(completionVariant);
                result.addElement(element.withLookupString(completionVariant.toLowerCase()));
              }
            }
          }
        };

    myComponentPopupBuilder =
        JBPopupFactory.getInstance()
            .createComponentPopupBuilder(panel, myEditorField)
            .setCancelOnClickOutside(true)
            .setAdText(
                KeymapUtil.getShortcutsText(CommonShortcuts.CTRL_ENTER.getShortcuts())
                    + " to finish")
            .setTitle("Specify user names, comma separated")
            .setMovable(true)
            .setRequestFocus(true)
            .setResizable(true);
    mySelectOkAction =
        new AnAction() {
          @Override
          public void actionPerformed(AnActionEvent e) {
            myPopup.closeOk(e.getInputEvent());
            final String newText = myEditorField.getText();
            if (Comparing.equal(newText.trim(), myCurrentText.trim())) return;
            myCurrentText = newText;
            setText(myCurrentText.trim());
            myPanel.setToolTipText(USER + " " + myCurrentText);
            myUserFilterI.filter(myCurrentText);
          }
        };
  }