DefaultActionGroup (@Nullable VirtualFile myFile, Editor editor, Document document, byte[] bytes, @Nullable @NlsActions.ActionText String clearItemText) { final class MyAction extends ChooseFileEncodingAction { MyAction(@Nullable VirtualFile virtualFile) { super(virtualFile); } @Override public void update(final @NotNull AnActionEvent e) { } @Override public @NotNull ActionUpdateThread getActionUpdateThread() { return ActionUpdateThread.BGT; } @Override protected @NotNull DefaultActionGroup createPopupActionGroup(@NotNull JComponent button, @NotNull DataContext dataContext) { return createMyActionGroup(); } @NotNull DefaultActionGroup createMyActionGroup() { return createCharsetsActionGroup(clearItemText, null, charset -> IdeBundle.message("action.text.change.encoding", charset.displayName())); } @Override protected void chosen(@Nullable VirtualFile virtualFile, @NotNull Charset charset) { ChangeFileEncodingAction.this.chosen(document, editor, virtualFile, bytes, charset); } } return new MyAction(myFile).createMyActionGroup(); }