OtpErlangTuple from = new OtpErlangTuple(new OtpErlangObject[] {
caller.self(), host.createRef() });
OtpErlangObject msg = new OtpErlangTuple(new OtpErlangObject[] {
new OtpErlangAtom("$gen_call"), from, call });
caller.send(server, node, msg);
OtpErlangObject res = timeout == 0 ? caller.receive() : caller
.receive(timeout);
if (res == null) {
return null;
} else if (res instanceof OtpErlangTuple
&& ((OtpErlangTuple) res).arity() == 2) {