code: func (task *Task) downcaseAllVolumePaths() {
  	for _, volume := range task.Volumes {
  		if hostVol, ok := volume.Volume.(*taskresourcevolume.FSHostVolume); ok {
  			hostVol.FSSourcePath = getCanonicalPath(hostVol.FSSourcePath)
  		}
  	}
  	for _, container := range task.Containers {
  		for i, mountPoint := range container.MountPoints {
  			// container.MountPoints is a slice of values, not a slice of pointers so
  			// we need to mutate the actual value instead of the copied value
  			container.MountPoints[i].ContainerPath = getCanonicalPath(mountPoint.ContainerPath)
  		}
  	}
  }
docs: // downcaseAllVolumePaths forces all volume paths (host path and container path)
  // to be lower-case.  This is to account for Windows case-insensitivity and the
  // case-sensitive string comparison that takes place elsewhere in the code.