public <T> T findRegisteredQuickFix(@NotNull BiFunction<? super @NotNull IntentionActionDescriptor, ? super @NotNull TextRange, ? extends @Nullable T> predicate) {
    Set<IntentionActionDescriptor> processed = new HashSet<>();
    List<Pair<IntentionActionDescriptor, RangeMarker>> markers;
    List<Pair<IntentionActionDescriptor, TextRange>> ranges;
    synchronized (this) {
      markers = quickFixActionMarkers;
      ranges = quickFixActionRanges;
    }
    // prefer range markers as having more actual offsets
    T result = find(markers, processed, predicate);
    if (result != null) return result;
    return find(ranges, processed, predicate);
  }
public <T> T findRegisteredQuickFix(@NotNull BiFunction<? super @NotNull IntentionActionDescriptor, ? super @NotNull TextRange, ? extends @Nullable T> predicate)