code: func ParseGroupVersion(gv string) (GroupVersion, error) {
  	// this can be the internal version for the legacy kube types
  	// TODO once we've cleared the last uses as strings, this special case should be removed.
  	if (len(gv) == 0) || (gv == "/") {
  		return GroupVersion{}, nil
  	}
  
  	switch strings.Count(gv, "/") {
  	case 0:
  		return GroupVersion{"", gv}, nil
  	case 1:
  		i := strings.Index(gv, "/")
  		return GroupVersion{gv[:i], gv[i+1:]}, nil
  	default:
  		return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv)
  	}
  }
docs: // ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error
  // if it cannot parse the string.