private string GetUdpStatistics(
            NetworkInterfaceComponent version,
            IPGlobalProperties properties)
        {
            UdpStatistics udpStat = null;

            StringBuilder udpStatBuilder = new StringBuilder();

            try
            {
                switch (version)
                {
                    case NetworkInterfaceComponent.IPv4:
                        udpStat = properties.GetUdpIPv4Statistics();
                        udpStatBuilder.Append("UDP IPv4 Statistics\n");
                        break;
                    case NetworkInterfaceComponent.IPv6:
                        udpStat = properties.GetUdpIPv6Statistics();
                        udpStatBuilder.Append("UDP IPv6 Statistics\n");
                        break;
                    default:
                        throw new ArgumentException("No such IP version");
                }
            }
            catch (NetworkInformationException)
            {
                return String.Empty;
            }

            udpStatBuilder.Append("=================================================\n");

            udpStatBuilder.AppendFormat(" Datagrams Received ............ : {0}\n",
                udpStat.DatagramsReceived);
            udpStatBuilder.AppendFormat(" Datagrams Sent ................ : {0}\n",
                udpStat.DatagramsSent);
            udpStatBuilder.AppendFormat(" Incoming Datagrams Discarded .. : {0}\n",
                udpStat.IncomingDatagramsDiscarded);
            udpStatBuilder.AppendFormat(" Incoming Datagrams With Errors  : {0}\n",
                udpStat.IncomingDatagramsWithErrors);
            udpStatBuilder.AppendFormat(" UDP Listeners ................. : {0}\n",
                udpStat.UdpListeners);

            IPEndPoint[] endPoints = properties.GetActiveUdpListeners();

            if (endPoints.Length > 0)
            {
                udpStatBuilder.Append("  Local Address   Port\n");
            }

            foreach (IPEndPoint endPoint in endPoints)
            {
                udpStatBuilder.AppendFormat("  {0, -15}:{1}\n",
                    endPoint.Address, endPoint.Port);
            }

            return udpStatBuilder.ToString();
        }