void runContributors(CompletionInitializationContext initContext) {
    CompletionParameters parameters = Objects.requireNonNull(myParameters);
    threading.startThread(ProgressWrapper.wrap(this), () -> {
      CompletionThreadingKt.tryReadOrCancel(this, () -> scheduleAdvertising(parameters));
    });

    WeighingDelegate weigher = threading.delegateWeighing(this);
    try {
      calculateItems(initContext, weigher, parameters);
    }
    catch (ProcessCanceledException ignore) {
      cancel(); // some contributor may just throw PCE; if indicator is not canceled everything will hang
    }
    catch (Throwable t) {
      cancel();
      LOG.error(t);
    }
  }
void runContributors(CompletionInitializationContext initContext)