public ProcessingContext(ProcessingContext parent, ICommandLineCommandContainer commandContainer, ILogger logger) { this.logger = logger; parent?.AssertSafeToSwitchProcessingContext(); ProcessingOrderedOptions = false; Parent = parent; CurrentCommand = commandContainer; orderedOptions = new List <ICommandLineOption>(CurrentCommand.Options.Where(o => o.Order.HasValue)); HasOrderedOptions = orderedOptions.Count > 0; }