code: func tryConvert(convertor runtime.ObjectConvertor, object runtime.Object, versions ...string) (runtime.Object, error) {
  	var last error
  	for _, version := range versions {
  		if len(version) == 0 {
  			return object, nil
  		}
  		obj, err := convertor.ConvertToVersion(object, version)
  		if err != nil {
  			last = err
  			continue
  		}
  		return obj, nil
  	}
  	return nil, last
  }
docs: // tryConvert attempts to convert the given object to the provided versions in order. This function assumes
  // the object is in internal version.