void (final XInitialValueCallback callback) { final Value value = myJavaValue.getDescriptor().getValue(); if (value == null || value instanceof PrimitiveValue) { String valueString = myJavaValue.getDescriptor().getValueText(); int pos = valueString.lastIndexOf('('); //skip hex presentation if any if (pos > 1) { valueString = valueString.substring(0, pos).trim(); } callback.setValue(valueString); } else if (value instanceof StringReference) { final EvaluationContextImpl evaluationContext = myJavaValue.getEvaluationContext(); evaluationContext.getManagerThread().schedule(new SuspendContextCommandImpl(evaluationContext.getSuspendContext()) { @Override public Priority getPriority() { return Priority.NORMAL; } @Override public void contextAction(@NotNull SuspendContextImpl suspendContext) throws Exception { callback.setValue( StringUtil.wrapWithDoubleQuote(DebuggerUtils.translateStringValue(DebuggerUtils.getValueAsString(evaluationContext, value)))); } }); } else { callback.setValue(null); } }