code: func (c *MetricConverter) UnsafeConvertToVersionVia(obj runtime.Object, externalVersion schema.GroupVersion) (runtime.Object, error) {
  	objInt, err := c.scheme.UnsafeConvertToVersion(obj, schema.GroupVersion{Group: externalVersion.Group, Version: runtime.APIVersionInternal})
  	if err != nil {
  		return nil, fmt.Errorf("failed to convert the given object to the internal version: %v", err)
  	}
  
  	objExt, err := c.scheme.UnsafeConvertToVersion(objInt, externalVersion)
  	if err != nil {
  		return nil, fmt.Errorf("failed to convert the given object back to the external version: %v", err)
  	}
  
  	return objExt, err
  }
docs: // unsafeConvertToVersionVia is like Scheme.UnsafeConvertToVersion, but it does so via an internal version first.
  // We use it here to work with the v1beta2 client internally, while preserving backwards compatibility for existing custom metrics adapters