/**
  * Invoke the action asynchronously. Returns immediately and will run the client-specified
  * callback when the action later completes. Any output arguments can then be retrieved by calling
  * {@link #endTime}.
  *
  * @param aCallback listener to call back when action completes. This is guaranteed to be run but
  *     may indicate an error.
  */
 public void beginTime(ICpProxyListener aCallback) {
   Invocation invocation = iService.getInvocation(iActionTime, aCallback);
   int outIndex = 0;
   invocation.addOutput(
       new ArgumentUint((ParameterUint) iActionTime.getOutputParameter(outIndex++)));
   invocation.addOutput(
       new ArgumentUint((ParameterUint) iActionTime.getOutputParameter(outIndex++)));
   invocation.addOutput(
       new ArgumentUint((ParameterUint) iActionTime.getOutputParameter(outIndex++)));
   iService.invokeAction(invocation);
 }