@Override
  protected boolean isEnabled(@NotNull AnActionEvent e) {
    if (!super.isEnabled(e)) return false;

    final ExternalEntityData externalData = getExternalData(e, ExternalEntityData.class);
    if (!(externalData instanceof ExternalConfigPathAware)) return false;

    VirtualFile config = getExternalConfig((ExternalConfigPathAware)externalData, externalData.getOwner());
    if (config == null) return false;

    ProjectSystemId externalSystemId = getSystemId(e);
    e.getPresentation().setText(ExternalSystemBundle.messagePointer("action.open.config.text", externalSystemId.getReadableName()));
    e.getPresentation().setDescription(ExternalSystemBundle.messagePointer("action.open.config.description", externalSystemId.getReadableName()));
    final ExternalSystemUiAware uiAware = getExternalSystemUiAware(e);
    if (uiAware != null) {
      e.getPresentation().setIcon(uiAware.getProjectIcon());
    }

    return true;
  }
@Override
  protected boolean isEnabled(@NotNull AnActionEvent e)