code: func (cm *containerManagerImpl) GetResources(pod *v1.Pod, container *v1.Container) (*kubecontainer.RunContainerOptions, error) {
  	opts := &kubecontainer.RunContainerOptions{}
  	// Allocate should already be called during predicateAdmitHandler.Admit(),
  	// just try to fetch device runtime information from cached state here
  	devOpts, err := cm.deviceManager.GetDeviceRunContainerOptions(pod, container)
  	if err != nil {
  		return nil, err
  	} else if devOpts == nil {
  		return opts, nil
  	}
  	opts.Devices = append(opts.Devices, devOpts.Devices...)
  	opts.Mounts = append(opts.Mounts, devOpts.Mounts...)
  	opts.Envs = append(opts.Envs, devOpts.Envs...)
  	opts.Annotations = append(opts.Annotations, devOpts.Annotations...)
  	return opts, nil
  }
docs: // TODO: move the GetResources logic to PodContainerManager.