public static String calcLabel(CompletableFuture<NodeRenderer> renderer,
                                 ValueDescriptor descriptor,
                                 EvaluationContext evaluationContext,
                                 DescriptorLabelListener listener) {
    return renderer.thenApply(r -> {
      try {
        return r.calcLabel(descriptor, evaluationContext, listener);
      }
      catch (EvaluateException e) {
        descriptor.setValueLabelFailed(e);
        listener.labelChanged();
        return "";
      }
    }).getNow(XDebuggerUIConstants.getCollectingDataMessage());
  }
public static String calcLabel(CompletableFuture<NodeRenderer> renderer,
                                 ValueDescriptor descriptor,
                                 EvaluationContext evaluationContext,
                                 DescriptorLabelListener listener)