code: func (s *v1AlphaAPIServer) getBasicPod(p *pkgPod.Pod) *v1alpha.Pod {
  	mtime, mtimeErr := getPodManifestModTime(p)
  	if mtimeErr != nil {
  		stderr.PrintE(fmt.Sprintf("failed to read the pod manifest's mtime for pod %q", p.UUID), mtimeErr)
  	}
  
  	// Couldn't use pod.uuid directly as it's a pointer.
  	itemValue, found := s.podCache.Get(p.UUID.String())
  	if found && mtimeErr == nil {
  		cacheItem := itemValue.(*podCacheItem)
  
  		// Check the mtime to make sure we are not returning stale manifests.
  		if !mtime.After(cacheItem.mtime) {
  			return copyPod(cacheItem.pod)
  		}
  	}
  
  	pod, err := s.getBasicPodFromDisk(p)
  	if mtimeErr != nil || err != nil {
  		// If any error happens or the mtime is unknown,
  		// returns the raw pod directly without adding it to the cache.
  		return pod
  	}
  
  	cacheItem := &podCacheItem{pod, mtime}
  	s.podCache.Add(p.UUID.String(), cacheItem)
  
  	// Return a copy of the pod, so the cached pod is not mutated later.
  	return copyPod(cacheItem.pod)
  }
docs: // getBasicPod returns v1alpha.Pod with basic pod information.