internal static unsafe IList <NodeLoadMetricInformation> CreateFromNativeList(NativeTypes.FABRIC_NODE_LOAD_METRIC_INFORMATION_LIST *nativeResultList)
        {
            var rv = new List <NodeLoadMetricInformation>();

            var nativeArray = (NativeTypes.FABRIC_NODE_LOAD_METRIC_INFORMATION *)nativeResultList->Items;

            for (int i = 0; i < nativeResultList->Count; i++)
            {
                var nativeItem = *(nativeArray + i);
                rv.Add(NodeLoadMetricInformation.CreateFromNative(nativeItem));
            }

            return(rv);
        }
        internal static unsafe NodeLoadInformation CreateFromNative(
            NativeTypes.FABRIC_NODE_LOAD_INFORMATION nativeLoadInformation)
        {
            IList <NodeLoadMetricInformation> nodeLoadMetricInformationList;

            if (nativeLoadInformation.NodeLoadMetricInformationList == IntPtr.Zero)
            {
                nodeLoadMetricInformationList = new List <NodeLoadMetricInformation>();
            }
            else
            {
                nodeLoadMetricInformationList = NodeLoadMetricInformation.CreateFromNativeList(
                    (NativeTypes.FABRIC_NODE_LOAD_METRIC_INFORMATION_LIST *)nativeLoadInformation.NodeLoadMetricInformationList);
            }

            return(new NodeLoadInformation
            {
                NodeName = NativeTypes.FromNativeString(nativeLoadInformation.NodeName),
                NodeLoadMetricInformationList = nodeLoadMetricInformationList
            });
        }