protected void HandleValue(IValueToken token) { if (builder.LastOption?.AcceptsValue ?? false) { builder.LastOption.AddValue(token); } else if (builder.AwaitsValue) { builder.AddValue(token); } else { throw new ArgumentException("This type does not accept any more values."); } }