public OptionNode(string name, IOption option) : base(name)
        {
            if (option == null)
            {
                throw new ArgumentNullException(nameof(option));
            }

            _option   = option;
            _children = new OptionNodeCollection(this);
        }
 public OptionNode(string name, string title, string description) : base(name)
 {
     _title       = string.IsNullOrWhiteSpace(title) ? name : title;
     _description = description ?? string.Empty;
     _children    = new OptionNodeCollection(this);
 }
 internal OptionNode()
 {
     _children = new OptionNodeCollection(this);
 }