private void AddArgumentWithOptionsForPropertiesOnObject(List<ArgumentWithOptions> recognizers, ParameterInfo parameterInfo)
 {
     recognizers.AddRange(parameterInfo.GetPublicInstanceProperties()
         .Select(prop =>
             new ArgumentWithOptions(ArgumentParameter.Parse(prop.Name, _culture),
                 required: parameterInfo.LooksRequired() && prop.Required(),
                 type: prop.PropertyType)));
 }