public function addPage(Page $page)
 {
     $id = $page->getId();
     $path = new \stdClass();
     $path->path = $page->getPath();
     $path->siteId = $page->getSiteId();
     $path->siteName = $page->getSiteName();
     $psi_std = new \stdClass();
     $psi_std->id = $id;
     $psi_std->path = $path;
     $psi_std->type = Page::TYPE;
     $psi_std->recycled = false;
     $this->pages[] = new p\PublishableAssetIdentifier($psi_std);
     return $this;
 }
 public function setPage(a\Page $page = NULL)
 {
     // required
     if ($this->required && $page == NULL) {
         throw new e\EmptyValueException(S_SPAN . c\M::NULL_PAGE . E_SPAN);
     }
     if ($this->asset_type != c\T::PAGE) {
         throw new e\NodeException(S_SPAN . "The asset does not accept a page." . E_SPAN);
     }
     if (isset($page)) {
         $this->page_id = $page->getId();
         $this->page_path = $page->getPath();
     } else {
         $this->page_id = NULL;
         $this->page_path = NULL;
     }
     return $this;
 }