initObjects(functionName, INTERNAL, RequestTrans.INTERNAL); thisObject = object; this.functionName = functionName; this.args = args;  startTransactor(); wait(timeout);  if (reqtype != NONE) { stopTransactor(); exception = new RuntimeException("Request timed out"); }   res = null;  if (exception != null) { throw (exception); }  return result;
return invokeInternal(object, functionName, args, 60000L * 15);
    public synchronized Object invokeInternal(Object object, String functionName,                                              Object[] args, long timeout)                                       throws Exception {        initObjects(functionName, INTERNAL, RequestTrans.INTERNAL);        thisObject = object;        this.functionName = functionName;        this.args = args;        startTransactor();        wait(timeout);        if (reqtype != NONE) {            stopTransactor();            exception = new RuntimeException("Request timed out");        }        // reset res for garbage collection (res.data may hold reference to evaluator)        res = null;        if (exception != null) {            throw (exception);        }        return result;    }