code: func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error {
  	if len(parameters) == 0 {
  		return nil
  	}
  	targetGVKs, _, err := c.typer.ObjectKinds(into)
  	if err != nil {
  		return err
  	}
  	for i := range targetGVKs {
  		if targetGVKs[i].GroupVersion() == from {
  			if err := c.convertor.Convert(&parameters, into, nil); err != nil {
  				return err
  			}
  			// in the case where we going into the same object we're receiving, default on the outbound object
  			if c.defaulter != nil {
  				c.defaulter.Default(into)
  			}
  			return nil
  		}
  	}
  
  	input, err := c.creator.New(from.WithKind(targetGVKs[0].Kind))
  	if err != nil {
  		return err
  	}
  	if err := c.convertor.Convert(&parameters, input, nil); err != nil {
  		return err
  	}
  	// if we have defaulter, default the input before converting to output
  	if c.defaulter != nil {
  		c.defaulter.Default(input)
  	}
  	return c.convertor.Convert(input, into, nil)
  }
docs: // DecodeParameters converts the provided url.Values into an object of type From with the kind of into, and then
  // converts that object to into (if necessary). Returns an error if the operation cannot be completed.