@Override
      public void syncAction(@NotNull SuspendContextImpl suspendContext) {
        EvaluationContext evaluationContext = context.createEvaluationContext(value);

        if (!StringUtil.isEmpty(myChildrenExpandable.getReferenceExpression().getText())) {
          try {
            Value expanded = myChildrenExpandable.getEvaluator(evaluationContext.getProject()).evaluate(evaluationContext);
            if (expanded instanceof BooleanValue) {
              res.complete(((BooleanValue)expanded).booleanValue());
              return;
            }
          }
          catch (EvaluateException e) {
            // ignored
          }
        }

        try {
          Value children = evaluateChildren(evaluationContext, parentDescriptor);
          DebugProcessImpl.getDefaultRenderer(value.type())
            .isExpandableAsync(children, evaluationContext, parentDescriptor)
            .whenComplete((aBoolean, throwable) -> DebuggerUtilsAsync.completeFuture(aBoolean, throwable, res));
        }
        catch (EvaluateException e) {
          res.complete(true);
        }
      }
@Override
      public void syncAction(@NotNull SuspendContextImpl suspendContext)