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)));
 }
 private ArgumentWithOptions GetArgumentWithOptions(ParameterInfo parameterInfo)
 {
     return new ArgumentWithOptions(ArgumentParameter.Parse(parameterInfo.Name, _culture),
                                    required: parameterInfo.LooksRequired(),
                                    type: parameterInfo.ParameterType);
 }