@Override
  public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener labelListener)
    throws EvaluateException {

    if (!isShowValue(descriptor, evaluationContext)) {
      return prefix("");
    }

    Value value = descriptor.getValue();
    if (value == null) {
      return prefix("null");
    }

    EvaluationContextImpl evaluationContextImpl = (EvaluationContextImpl)evaluationContext;
    DebugProcessImpl debugProcess = evaluationContextImpl.getDebugProcess();
    debugProcess.getManagerThread().schedule(new PossiblySyncCommand(evaluationContextImpl.getSuspendContext()) {
      @Override
      public void syncAction(@NotNull SuspendContextImpl suspendContext) {
        ExpressionEvaluator evaluator = null;
        try {
          evaluator = myLabelExpression.getEvaluator(debugProcess.getProject());

          if (!debugProcess.isAttached()) {
            throw EvaluateExceptionUtil.PROCESS_EXITED;
          }
          EvaluationContext thisEvaluationContext = evaluationContext.createEvaluationContext(value);
          Value labelValue = evaluator.evaluate(thisEvaluationContext);
          JavaDebuggerEvaluatorStatisticsCollector.logEvaluationResult(debugProcess.getProject(), evaluator, true, XEvaluationOrigin.RENDERER);
          String result = StringUtil.notNullize(DebuggerUtils.getValueAsString(thisEvaluationContext, labelValue));
          descriptor.setValueLabel(prefix(result));
        }
        catch (EvaluateException ex) {
          JavaDebuggerEvaluatorStatisticsCollector.logEvaluationResult(debugProcess.getProject(), evaluator, false, XEvaluationOrigin.RENDERER);
          descriptor.setValueLabelFailed(
            new EvaluateException(JavaDebuggerBundle.message("error.unable.to.evaluate.expression") + " " + ex.getMessage(), ex));
        }
        labelListener.labelChanged();
      }
    });
    return XDebuggerUIConstants.getCollectingDataMessage();
  }
@Override
  public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener labelListener)