code: func SplitUniqueName(uniqueName v1.UniqueVolumeName) (string, string, error) {
  	components := strings.SplitN(string(uniqueName), "/", 3)
  	if len(components) != 3 {
  		return "", "", fmt.Errorf("cannot split volume unique name %s to plugin/volume components", uniqueName)
  	}
  	pluginName := fmt.Sprintf("%s/%s", components[0], components[1])
  	return pluginName, components[2], nil
  }
docs: // SplitUniqueName splits the unique name to plugin name and volume name strings. It expects the uniqueName to follow
  // the format plugin_name/volume_name and the plugin name must be namespaced as described by the plugin interface,
  // i.e. namespace/plugin containing exactly one '/'. This means the unique name will always be in the form of
  // plugin_namespace/plugin/volume_name, see k8s.io/kubernetes/pkg/volume/plugins.go VolumePlugin interface
  // description and pkg/volume/util/volumehelper/volumehelper.go GetUniqueVolumeNameFromSpec that constructs
  // the unique volume names.