code: func (p *PriorityQueue) AddUnschedulableIfNotPresent(pod *v1.Pod, podSchedulingCycle int64) error {
  	p.lock.Lock()
  	defer p.lock.Unlock()
  	if p.unschedulableQ.get(pod) != nil {
  		return fmt.Errorf("pod is already present in unschedulableQ")
  	}
  
  	pInfo := p.newPodInfo(pod)
  	if _, exists, _ := p.activeQ.Get(pInfo); exists {
  		return fmt.Errorf("pod is already present in the activeQ")
  	}
  	if _, exists, _ := p.podBackoffQ.Get(pInfo); exists {
  		return fmt.Errorf("pod is already present in the backoffQ")
  	}
  
  	// Every unschedulable pod is subject to backoff timers.
  	p.backoffPod(pod)
  
  	// If a move request has been received, move it to the BackoffQ, otherwise move
  	// it to unschedulableQ.
  	if p.moveRequestCycle >= podSchedulingCycle {
  		if err := p.podBackoffQ.Add(pInfo); err != nil {
  			// TODO: Delete this klog call and log returned errors at the call site.
  			err = fmt.Errorf("error adding pod %v to the backoff queue: %v", pod.Name, err)
  			klog.Error(err)
  			return err
  		}
  	} else {
  		p.unschedulableQ.addOrUpdate(pInfo)
  	}
  
  	p.nominatedPods.add(pod, "")
  	return nil
  
  }
docs: // AddUnschedulableIfNotPresent inserts a pod that cannot be scheduled into
  // the queue, unless it is already in the queue. Normally, PriorityQueue puts
  // unschedulable pods in `unschedulableQ`. But if there has been a recent move
  // request, then the pod is put in `podBackoffQ`.