public InvokeAsyncResult(ServiceDurableInstance instance, object[] inputs, ServiceOperationInvoker invoker, bool canCreateInstance, AsyncCallback callback, object state)
                : base(callback, state)
            {
                this.invoker          = invoker;
                this.inputs           = inputs;
                this.durableInstance  = instance;
                this.operationContext = OperationContext.Current;

                IAsyncResult result = this.durableInstance.BeginStartOperation(canCreateInstance, startCallback, this);

                if (result.CompletedSynchronously)
                {
                    this.serviceInstance = this.durableInstance.EndStartOperation(result);
                    if (DoInvoke())
                    {
                        Complete(true, this.completionException);
                    }
                }
            }
            public InvokeAsyncResult(ServiceDurableInstance instance, object[] inputs, ServiceOperationInvoker invoker, bool canCreateInstance, AsyncCallback callback, object state)
                : base(callback, state)
            {
                this.invoker = invoker;
                this.inputs = inputs;
                this.durableInstance = instance;
                this.operationContext = OperationContext.Current;

                IAsyncResult result = this.durableInstance.BeginStartOperation(canCreateInstance, startCallback, this);

                if (result.CompletedSynchronously)
                {
                    this.serviceInstance = this.durableInstance.EndStartOperation(result);
                    if (DoInvoke())
                    {
                        Complete(true, this.completionException);
                    }
                }
            }