code: func ControllerHasDesiredReplicas(c Interface, controller *api.ReplicationController) wait.ConditionFunc {
  
  	// If we're given a controller where the status lags the spec, it either means that the controller is stale,
  	// or that the rc manager hasn't noticed the update yet. Polling status.Replicas is not safe in the latter case.
  	desiredGeneration := controller.Generation
  
  	return func() (bool, error) {
  		ctrl, err := c.ReplicationControllers(controller.Namespace).Get(controller.Name)
  		if err != nil {
  			return false, err
  		}
  		// There's a chance a concurrent update modifies the Spec.Replicas causing this check to pass,
  		// or, after this check has passed, a modification causes the rc manager to create more pods.
  		// This will not be an issue once we've implemented graceful delete for rcs, but till then
  		// concurrent stop operations on the same rc might have unintended side effects.
  		return ctrl.Status.ObservedGeneration >= desiredGeneration && ctrl.Status.Replicas == ctrl.Spec.Replicas, nil
  	}
  }
docs: // ControllerHasDesiredReplicas returns a condition that will be true if and only if
  // the desired replica count for a controller's ReplicaSelector equals the Replicas count.