final ComponentCallReply reply;
if (Boolean.TRUE.equals (okValue)) {
final Object outputsValue = message.metaData.get (Token.Outputs.string);
Preconditions.checkArgument (message.metaData.containsKey (Token.Outputs.string), "missing outputs attribute");
Preconditions.checkArgument (this.outboundCalls.inverse ().containsKey (correlation), "mismatched correlation attribute `%s`", correlation);
final ComponentCallReference reference = this.outboundCalls.inverse ().remove (correlation);
reply = ComponentCallReply.create (true, outputsValue, message.data.asReadOnlyBuffer (), reference);
} else {
final Object errorValue = message.metaData.get (Token.Error.string);
Preconditions.checkArgument (message.metaData.containsKey (Token.Error.string), "missing error attribute");
Preconditions.checkArgument (this.outboundCalls.inverse ().containsKey (correlation), "mismatched correlation attribute `%s`", correlation);
final ComponentCallReference reference = this.outboundCalls.inverse ().remove (correlation);
reply = ComponentCallReply.create (false, errorValue, message.data.asReadOnlyBuffer (), reference);
}
this.componentCallbacksProxy.callReturned (this.componentControllerProxy, reply);
}