void (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); } }