/// <inheritdoc/> public OptionSchema Add( string name, char?shortName, string argumentName, string description, Action <RequiredArgumentOption> action) { CheckName(name); CheckShortName(shortName); CheckDuplication(name, shortName); var spec = new RequiredArgumentOptionSpec( name, shortName, argumentName, description, action); return(new OptionSchemaImpl(all.Append(spec))); }