protected void getVariantsFromContributors(CompletionParameters parameters,
                                             @Nullable CompletionContributor from,
                                             PrefixMatcher matcher, Consumer<? super CompletionResult> consumer,
                                             CompletionSorter customSorter) {
    final List<CompletionContributor> contributors = CompletionContributor.forParameters(parameters);

    for (int i = contributors.indexOf(from) + 1; i < contributors.size(); i++) {
      ProgressManager.checkCanceled();
      CompletionContributor contributor = contributors.get(i);

      CompletionResultSet result = createResultSet(parameters, consumer, contributor, matcher);
      if (customSorter != null) {
        result = result.withRelevanceSorter(customSorter);
      }
      getVariantsFromContributor(parameters, contributor, result);
      if (result.isStopped()) {
        return;
      }
    }
  }
protected void getVariantsFromContributors(CompletionParameters parameters,
                                             @Nullable CompletionContributor from,
                                             PrefixMatcher matcher, Consumer<? super CompletionResult> consumer,
                                             CompletionSorter customSorter)