NativeCommon.IFabricAsyncOperationContext NativeRuntime.IFabricStatefulServiceReplica.BeginOpen(
     NativeTypes.FABRIC_REPLICA_OPEN_MODE openMode,
     NativeRuntime.IFabricStatefulServicePartition partition,
     NativeCommon.IFabricAsyncOperationCallback callback)
 {
     return(Utility.WrapNativeAsyncMethodImplementation((cancellationToken) => this.OpenAsync(openMode, partition, cancellationToken), callback, "StatefulServiceReplicaBroker.Open", OpenAsyncApi));
 }
        private Task <IReplicator> OpenAsync(
            NativeTypes.FABRIC_REPLICA_OPEN_MODE openMode,
            NativeRuntime.IFabricStatefulServicePartition partition,
            CancellationToken cancellationToken)
        {
            AppTrace.TraceSource.WriteNoise(
                "StatefulServiceReplicaBroker.OpenAsync",
                "OpenAsync for ServiceName {0}. Uri {1}. ReplicaId {2}. PartitionId {3}, OpenMode {4}",
                this.initializationParameters.ServiceTypeName,
                this.initializationParameters.ServiceName,
                this.replicaId,
                this.initializationParameters.PartitionId,
                openMode);

            this.statefulPartition = this.CreateStatefulPartition(partition);

            return(this.statefulServiceReplica.OpenAsync((ReplicaOpenMode)openMode, this.statefulPartition, cancellationToken));
        }