public TargetAddress CallMethod(TargetAddress method, long arg1, long arg2) { CommandResult result; lock (this) { check_alive(); result = servant.CallMethod(method, arg1, arg2); } result.Wait(); if (result.Result == null) { throw new TargetException(TargetError.UnknownError); } return((TargetAddress)result.Result); }