///<summary>The entry point for the application.</summary>
        ///<param name="argv">A list of arguments</param>
        public static void Main(string[] argv)
        {
            Boolean booleanParseCommandLineArguments = false;
            string  exceptionMessage = null;
            UtilityWakeOnLanArgument utilityWakeOnLanArgument = null;

            utilityWakeOnLanArgument = new UtilityWakeOnLanArgument();

            booleanParseCommandLineArguments = UtilityParseCommandLineArgument.ParseCommandLineArguments
                                               (
                argv,
                utilityWakeOnLanArgument
                                               );

            if (booleanParseCommandLineArguments == false)
            {
                // error encountered in arguments. Display usage message
                System.Console.Write
                (
                    UtilityParseCommandLineArgument.CommandLineArgumentsUsage(typeof(UtilityWakeOnLanArgument))
                );
                return;
            }//if ( booleanParseCommandLineArguments  == false )

            SendMagicPacket
            (
                ref utilityWakeOnLanArgument,
                ref exceptionMessage
            );
        }//public static void Main()
        }//public static void Main()

        /// <summary>SendMagicPacket</summary>
        public static void SendMagicPacket
        (
            ref UtilityWakeOnLanArgument utilityWakeOnLanArgument,
            ref string exceptionMessage
        )
        {
            int magicPacketIndex = -1;

            byte[] magicPacket    = null;
            byte[] byteMACAddress = null;
            string MACAddress     = null;

            System.Net.Sockets.UdpClient udpClient = null;
            try
            {
                udpClient = new System.Net.Sockets.UdpClient
                            (
                    UtilityWakeOnLan.UDPBroadcast,
                    UtilityWakeOnLan.UDPPort
                            );
                for (int MACAddressIndex = 0; MACAddressIndex < utilityWakeOnLanArgument.MACAddress.Length; ++MACAddressIndex)
                {
                    MACAddress     = utilityWakeOnLanArgument.MACAddress[MACAddressIndex];
                    MACAddress     = MACAddress.Replace("-", String.Empty);
                    byteMACAddress = UtilityHex.ToByteArray(MACAddress);
                    magicPacket    = new byte[MagicPacketHeader.Length + (byteMACAddress.Length * MACAddressRepeat)];
                    for (magicPacketIndex = 0; magicPacketIndex < MagicPacketHeader.Length; ++magicPacketIndex)
                    {
                        magicPacket[magicPacketIndex] = MagicPacketHeader[magicPacketIndex];
                    }
                    for (int magicPacketRepeat = 0; magicPacketRepeat < MACAddressRepeat; ++magicPacketRepeat)
                    {
                        for (int byteMACAddressIndex = 0; byteMACAddressIndex < byteMACAddress.Length; ++byteMACAddressIndex)
                        {
                            magicPacket[magicPacketIndex] = byteMACAddress[byteMACAddressIndex];
                            ++magicPacketIndex;
                        }
                    }
                    udpClient.Send(magicPacket, magicPacket.Length);
                } //for( int MACAddressIndex = 0; MACAddressIndex < utilityWakeOnLanArgument.MACAddress.Length; ++MACAddressIndex )
            }     //try
            catch (Exception exception) { UtilityException.ExceptionLog(exception, exception.GetType().Name, ref exceptionMessage); }
        }         //public static void SendMagicPacket