/**
  * Get product from application held in the
  * progressive store
  *
  * @throws ProductNotFoundOnApplicationException
  * @return Product
  */
 public function getProductFromApplicationInStore()
 {
     /** @var ReferencingApplication $application */
     $application = $this->progressiveStore->getPrototypeByClass('Barbondev\\IRISSDK\\IndividualApplication\\ReferencingApplication\\Model\\ReferencingApplication');
     $product = $application->getProduct();
     if (!$product instanceof Product) {
         throw new ProductNotFoundOnApplicationException(sprintf('Product not found on application with UUID %s', $application->getReferencingApplicationUuId()));
     }
     return $product;
 }
 /**
  * Get case from session
  *
  * @return \Barbondev\IRISSDK\IndividualApplication\ReferencingCase\Model\ReferencingCase
  */
 private function getCaseFromSession()
 {
     $case = $this->progressiveStore->getPrototypeByClass('Barbondev\\IRISSDK\\IndividualApplication\\ReferencingCase\\Model\\ReferencingCase');
     return $case;
 }
 /**
  * Get the additional information holder
  * from progressive store
  *
  * @return \Iris\Referencing\FormSet\Model\AdditionalInformationHolder
  */
 private function getAdditionalInformationHolderFromProgressiveStore()
 {
     return $this->progressiveStore->getPrototypeByClass($this->additionalInformationHolderClass);
 }