code: func (vs *volumeSnapshotter) getSnapshotDataFromSnapshot(snapshot *crdv1.VolumeSnapshot) (*crdv1.VolumeSnapshotData, error) {
  	var snapshotDataObj crdv1.VolumeSnapshotData
  	snapshotDataName := snapshot.Spec.SnapshotDataName
  	if snapshotDataName == "" {
  		return nil, fmt.Errorf("Could not find snapshot data object: SnapshotDataName in snapshot spec is empty")
  	}
  	err := vs.restClient.Get().
  		Name(snapshotDataName).
  		Resource(crdv1.VolumeSnapshotDataResourcePlural).
  		Do().Into(&snapshotDataObj)
  	if err != nil {
  		glog.Errorf("Error retrieving the VolumeSnapshotData objects from API server: %v", err)
  		return nil, fmt.Errorf("Could not get snapshot data object %s: %v", snapshotDataName, err)
  	}
  	return &snapshotDataObj, nil
  }
docs: // Helper function that looks up VolumeSnapshotData from a VolumeSnapshot