@Override
  public void update(@NotNull AnActionEvent event) {
    Option option = optionSupplier.apply(event);
    boolean enabled = option != null && option.isEnabled();
    boolean visible = enabled || option != null && option.isAlwaysVisible();
    Presentation presentation = event.getPresentation();
    presentation.setEnabled(enabled);
    presentation.setVisible(visible);
    if (visible) {
      Toggleable.setSelected(presentation, option.isSelected());
      String name = option.getName();
      if (name != null) presentation.setText(name);
      String description = option.getDescription();
      if (description != null) {
        presentation.setDescription(description);
      }
      if (ActionPlaces.isPopupPlace(event.getPlace())) {
        presentation.setIcon(null);
      }
    }
  }
@Override
  public void update(@NotNull AnActionEvent event)