public void ParseArgs(string[] args, bool overrideArgs = true)
        {
            if (overrideArgs)
            {
                m_Arguments.Clear();
            }

            Dictionary <string, string[]> parsedOutput = ParseArgumentsToArray(args);

            foreach (var kv in parsedOutput)
            {
                ArgumentValue toAdd = new ArgumentValue(kv.Value);
                m_Arguments.Add(kv.Key, toAdd);
            }
        }
        public void ParseArgsRegex(string arguments)
        {
            if (!string.IsNullOrEmpty(arguments))
            {
                MatchCollection parsedOutput = m_KeyValueRegex.Matches(arguments);
                if (parsedOutput.Count > 0)
                {
                    for (int i = 0; i < parsedOutput.Count; i++)
                    {
                        var groups = parsedOutput[i].Groups;
                        var key    = groups["key"].Captures[0].Value;
                        var values = groups["value"].Captures[0].Value.Split(' ');

                        ArgumentValue toAdd = new ArgumentValue(values);
                    }
                }
            }
        }