internal static unsafe StartNodeTransitionDescription CreateFromNative(IntPtr nativeRaw)
        {
            NativeTypes.FABRIC_START_NODE_TRANSITION_DESCRIPTION native = *(NativeTypes.FABRIC_START_NODE_TRANSITION_DESCRIPTION *)nativeRaw;

            Guid               operationId        = native.OperationId;
            string             nodeName           = NativeTypes.FromNativeString(native.NodeName);
            NodeTransitionType nodeTransitionType = (NodeTransitionType)native.NodeTransitionType;
            BigInteger         nodeInstanceId     = new BigInteger(native.NodeInstanceId);

            return(new StartNodeTransitionDescription(operationId, nodeTransitionType, nodeName, nodeInstanceId));
        }
        internal IntPtr ToNative(PinCollection pinCollection)
        {
            var nativeStartNodeTransitionDescription = new NativeTypes.FABRIC_START_NODE_TRANSITION_DESCRIPTION();

            nativeStartNodeTransitionDescription.OperationId        = this.OperationId;
            nativeStartNodeTransitionDescription.NodeTransitionType = (NativeTypes.FABRIC_NODE_TRANSITION_TYPE) this.NodeTransitionType;
            nativeStartNodeTransitionDescription.NodeName           = pinCollection.AddBlittable(this.NodeName);
            nativeStartNodeTransitionDescription.NodeInstanceId     = (ulong)this.NodeInstanceId;

            return(pinCollection.AddBlittable(nativeStartNodeTransitionDescription));
        }