ValueIconRenderer () { return (descriptor, evaluationContext, listener) -> { EvaluationContextImpl evalContext = ((EvaluationContextImpl)evaluationContext); DebugProcessImpl debugProcess = evalContext.getDebugProcess(); if (!Registry.is("debugger.auto.fetch.icons") || DebuggerUtilsImpl.isRemote(debugProcess)) return null; debugProcess.getManagerThread().schedule(new SuspendContextCommandImpl(evalContext.getSuspendContext()) { @Override public void contextAction(@NotNull SuspendContextImpl suspendContext) { String getterName = AllIcons.Debugger.Value.getIconHeight() <= 16 ? "iconToBytesPreviewNormal" : "iconToBytesPreviewRetina"; descriptor.setValueIcon(ImageObjectRenderer.getIcon(evaluationContext, descriptor.getValue(), getterName)); listener.labelChanged(); } }); return null; }; }