code: func (daemon *Daemon) refreshImage(s *container.Snapshot, ctx *listContext) (*types.Container, error) {
  	c := s.Container
  	image := s.Image // keep the original ref if still valid (hasn't changed)
  	if image != s.ImageID {
  		img, err := daemon.imageService.GetImage(image)
  		if _, isDNE := err.(images.ErrImageDoesNotExist); err != nil && !isDNE {
  			return nil, err
  		}
  		if err != nil || img.ImageID() != s.ImageID {
  			// ref changed, we need to use original ID
  			image = s.ImageID
  		}
  	}
  	c.Image = image
  	return &c, nil
  }
docs: // refreshImage checks if the Image ref still points to the correct ID, and updates the ref to the actual ID when it doesn't