public void invoke(ToStringCommand command) {
    DebuggerManagerThreadImpl.assertIsManagerThread();

    final EvaluationContext evaluationContext = command.getEvaluationContext();
    final SuspendContext suspendContext = evaluationContext.getSuspendContext();

    if (!Registry.is("debugger.batch.evaluation.force") &&
        (!Registry.is("debugger.batch.evaluation") || !hasBatchEvaluator(evaluationContext))) {
      myDebugProcess.getManagerThread().invokeCommand(command);
    }
    else {
      List<ToStringCommand> toStringCommands = myBuffer.get(suspendContext);
      if (toStringCommands == null) {
        toStringCommands = new ArrayList<>();
        myBuffer.put(suspendContext, toStringCommands);
        ((DebuggerManagerThreadImpl)myDebugProcess.getManagerThread()).schedule(new BatchEvaluatorCommand(evaluationContext));
      }

      toStringCommands.add(command);
    }
  }
public void invoke(ToStringCommand command)