@Override
        public void evaluated(@NotNull XValue result) {
          if (result instanceof JavaValue) {
            final Value reference = ((JavaValue)result).getDescriptor().getValue();
            if (reference instanceof ArrayReference) {
              final TracingResult interpretedResult;
              try {
                interpretedResult = myResultInterpreter.interpret(chain, (ArrayReference)reference);
              }
              catch (Throwable t) {
                callback.evaluationFailed(streamTraceExpression,
                                          StreamDebuggerBundle.message("evaluation.failed.cannot.interpret.result", t.getMessage()));
                throw t;
              }
              final EvaluationContextImpl context = ((JavaValue)result).getEvaluationContext();
              callback.evaluated(interpretedResult, context);
              return;
            }

            if (reference instanceof ObjectReference) {
              final ReferenceType type = ((ObjectReference)reference).referenceType();
              if (type instanceof ClassType classType) {
                while (classType != null && !CommonClassNames.JAVA_LANG_THROWABLE.equals(classType.name())) {
                  classType = classType.superclass();
                }

                if (classType != null) {
                  final String exceptionMessage = tryExtractExceptionMessage((ObjectReference)reference);
                  final String description = "Evaluation failed: " + type.name() + " exception thrown";
                  final String descriptionWithReason = exceptionMessage == null ? description : description + ": " + exceptionMessage;
                  callback.evaluationFailed(streamTraceExpression, descriptionWithReason);
                  return;
                }
              }
            }
          }

          callback.evaluationFailed(streamTraceExpression, StreamDebuggerBundle.message("evaluation.failed.unknown.result.type"));
        }
@Override
        public void evaluated(@NotNull XValue result)