public @NotNull <T extends ProjectModelBuildableElement> List<T> getBuildableElements(@NotNull Class<? extends T> buildableClass,
                                                                                        @NotNull Predicate<? super ProjectTaskState> predicate) {
    return myTasksState.entrySet().stream()
      .filter(entry -> entry.getKey() instanceof ProjectModelBuildTask<?>)
      .filter(entry -> buildableClass.isInstance(((ProjectModelBuildTask<?>)entry.getKey()).getBuildableElement()))
      .filter(entry -> predicate.test(entry.getValue()))
      .map(entry -> buildableClass.cast(((ProjectModelBuildTask<?>)entry.getKey()).getBuildableElement()))
      .collect(Collectors.toList());
  }
public @NotNull <T extends ProjectModelBuildableElement> List<T> getBuildableElements(@NotNull Class<? extends T> buildableClass,
                                                                                        @NotNull Predicate<? super ProjectTaskState> predicate)