/// <summary>
 ///
 /// </summary>
 /// <param name="key"></param>
 /// <returns></returns>
 protected IOption GetOption(string key)
 {
     return(SelectableCliOptions.FirstOrDefault(x => string.Equals(x.Name, key, StringComparison.OrdinalIgnoreCase)));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="key"></param>
 /// <returns></returns>
 protected object GetOptionValue(string key)
 {
     return(SelectableCliOptions.FirstOrDefault(x => string.Equals(x.Name, key, StringComparison.OrdinalIgnoreCase) && x.IsAssigned)?.GetValue());
 }