protected ProcedureCommand(Bulka.CommandLine.CommandLine commandLine, string[] argumentNames) : base(commandLine) { _argumentIndexes = new OneToOneMap <string, int>(); for (var i = 0; i < argumentNames.Length; i++) { var name = argumentNames[i]; if (_argumentIndexes.ContainsKey(name)) { throw new Exception($"Duplicate argument '{name}'"); } _argumentIndexes.Add(name, i); } }