XValueModifier (JavaValue value) { return new JavaValueModifier(value) { @Override protected void setValueImpl(@NotNull XExpression expression, @NotNull XModificationCallback callback) { final DecompiledLocalVariable local = ArgumentValueDescriptorImpl.this.getVariable(); if (local != null) { final DebuggerContextImpl debuggerContext = DebuggerManagerEx.getInstanceEx(getProject()).getContext(); set(expression, callback, debuggerContext, new SetValueRunnable() { @Override public void setValue(EvaluationContextImpl evaluationContext, Value newValue) throws ClassNotLoadedException, InvalidTypeException, EvaluateException { LocalVariablesUtil.setValue(debuggerContext.getFrameProxy().getStackFrame(), local, newValue); update(debuggerContext); } @Nullable @Override public Type getLType() { return null; } }); } } }; }