/**
  * Save progress in session.
  *
  * @param ProgressBar $progressbar
  *
  * @return ProgressBarManager
  */
 public function save(ProgressBar $progressbar)
 {
     $progressbarBag = $this->session->get(ProgressBar::ATTRIBUTE_PLACEHOLDER);
     $progressbarBag[$progressbar->getToken()] = $progressbar;
     $this->session->set(ProgressBar::ATTRIBUTE_PLACEHOLDER, $progressbarBag);
     return $this;
 }
 private function createResponse(ProgressBar $progressbar)
 {
     $nextProgressbar = null;
     if ($progressbar->isFinished() || $progressbar->isCancelled()) {
         $this->progressbarManager->remove($progressbar->getToken());
         if ($progressbar instanceof StackProgressBar && $progressbar->getNextProgressbarToken()) {
             $nextProgressbar = $this->progressbarManager->load($progressbar->getNextProgressbarToken());
         }
     } else {
         $this->progressbarManager->save($progressbar);
     }
     return $progressbar->getJsonResponse($nextProgressbar);
 }