public CommandRef DetectCommand(string line)
        {
            CommandRef        result  = new CommandRef(Commands.NONE, "", "");
            List <CommandRef> results = new List <CommandRef>();

            try
            {
                for (int k = 0; k < CommandList.Count; k++)
                {
                    for (int v = 0; v < CommandList.ElementAt(k).Value.Length; v++)
                    {
                        if (line.Contains(CommandList.ElementAt(k).Value[v]))
                        {
                            results.Add(new CommandRef(CommandList.ElementAt(k).Key, CommandList.ElementAt(k).Value[v], line));
                        }
                    }
                }

                int highestLength = 0;

                for (int i = 0; i < results.Count; i++)
                {
                    if (results[i].Reference.Length > highestLength)
                    {
                        highestLength = results[i].Reference.Length;
                        result        = results[i];
                    }
                    else if (results[i].Reference.Length == highestLength)
                    {
                        if (results[i].Line.IndexOf(results[i].Reference) < result.Line.IndexOf(result.Reference))
                        {
                            result = results[i];
                        }
                    }
                }

                if (Statements.IsNull(result.Command))
                {
                    result = HasCoordinates(line);
                }

                if (result.Command == Commands.LINE || result.Command == Commands.ARC)
                {
                    ModularCommand = result.Reference;
                }
                if (result.Command == Commands.ARC)
                {
                    ModularArcCommand = result.Reference;
                }
            }
            catch (Exception e)
            {
                ErrorHandler.AddMessage(e);
            }

            return(result);
        }
        public string[] GetReferencesFromList(Commands cmd)
        {
            string[] result = { };

            try
            {
                result = CommandList.ElementAt((int)cmd - 1).Value;
            }
            catch (Exception e)
            {
                ErrorHandler.AddMessage(e);
            }

            return(result);
        }