@Override
  protected final void addCompletions(@NotNull CompletionParameters parameters,
                                @NotNull ProcessingContext context,
                                @NotNull final CompletionResultSet result) {

    try (GroovyCompletionConsumer consumer = getCompletionConsumer(result, parameters)) {
      doAddCompletions(parameters, consumer);
    } catch (ProcessCanceledException e) {
      throw e;
    }
    catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
@Override
  protected final void addCompletions(@NotNull CompletionParameters parameters,
                                @NotNull ProcessingContext context,
                                @NotNull final CompletionResultSet result)