/**
  * @param HasPagePartsInterface $page
  *
  * @throws \Exception
  * @return AbstractPagePartAdminConfigurator[]
  */
 public function getPagePartAdminConfigurators(HasPagePartsInterface $page)
 {
     $pagePartAdminConfigurators = array();
     foreach ($page->getPagePartAdminConfigurations() as $pagePartAdminConfiguration) {
         if (is_string($pagePartAdminConfiguration)) {
             $pagePartAdminConfigurators[] = $this->parse($pagePartAdminConfiguration);
         } else {
             if (is_object($pagePartAdminConfiguration) && $pagePartAdminConfiguration instanceof AbstractPagePartAdminConfigurator) {
                 $pagePartAdminConfigurators[] = $pagePartAdminConfiguration;
             } else {
                 throw new \Exception("don't know how to handle the pagePartAdminConfiguration " . get_class($pagePartAdminConfiguration));
             }
         }
     }
     return $pagePartAdminConfigurators;
 }
 /**
  * @param HasPagePartsInterface $page
  *
  * @throws \Exception
  * @return PagePartAdminConfiguratorInterface[]
  */
 public function getPagePartAdminConfigurators(HasPagePartsInterface $page)
 {
     $pagePartAdminConfigurators = array();
     foreach ($page->getPagePartAdminConfigurations() as $value) {
         if ($value instanceof PagePartAdminConfiguratorInterface) {
             $pagePartAdminConfigurators[] = $value;
         } elseif (is_string($value) && isset($this->configurators[$value])) {
             $pagePartAdminConfigurators[] = $this->configurators[$value];
         } elseif (is_string($value)) {
             $this->configurators[$value] = $this->parser->parse($value, $this->configurators);
             $pagePartAdminConfigurators[] = $this->configurators[$value];
         } else {
             throw new \Exception("don't know how to handle the pagePartAdminConfiguration " . get_class($value));
         }
     }
     return $pagePartAdminConfigurators;
 }
 /**
  * @param HasPagePartsInterface $page    The page
  * @param string                $context The string
  *
  * @return PagePartRef[]
  */
 public function getPagePartRefs(HasPagePartsInterface $page, $context = "main")
 {
     return $this->findBy(array('pageId' => $page->getId(), 'pageEntityname' => ClassLookup::getClass($page), 'context' => $context), array('sequencenumber' => 'ASC'));
 }