private List<BeforeRunTaskProvider<BeforeRunTask<?>>> getProviders() {
    Set<? extends Key<?>> existing = ContainerUtil.map2Set(myTags, button -> button.myTask.getProviderId());
    return ContainerUtil.filter(BeforeRunTaskProvider.EP_NAME.getExtensions(myConfiguration.getProject()),
                                provider -> provider.createTask(myConfiguration) != null && (!provider.isSingleton() || !existing.contains(provider.getId())));
  }
private List<BeforeRunTaskProvider<BeforeRunTask<?>>> getProviders()