private Callback createSetRemoteObjectPropertyCallback(final String sessionId,
final RemoteObjectId remoteObjectId, final String propertyName) {
return new Callback() {
@Override
public void run(ExtensionResponse evaluationResponse) {
OnEvaluateExpressionResponse evaluationParsedResponse =
DebuggerChromeApiUtils.parseOnEvaluateExpressionResponse(
evaluationResponse.request(), evaluationResponse.result());
boolean isError = evaluationResponse.isError()
|| evaluationParsedResponse == null
|| evaluationParsedResponse.wasThrown()
|| evaluationParsedResponse.getResult() == null;
final RemoteObject evaluationResult = isError ? null : evaluationParsedResponse.getResult();
Jso params = Jso.create();
if (!isError && DebuggerApiUtils.isNonFiniteNumber(evaluationResult)) {
params.addField("functionDeclaration", "function(a) {"
+ " this[a] = " + evaluationResult.getDescription() + ";"