public function append(Zend_Tool_Provider_ZfProject_ProjectContext_ProjectContextAbstract $contextNode)
 {
     parent::append($contextNode);
     if ($this->_baseDirectoryName != '' && $contextNode instanceof Zend_Tool_Provider_ZfProject_ProjectContext_Filesystem_FilesystemAbstract) {
         $contextNode->setBaseDirectoryName($this->getFullPath());
     }
 }
 protected function _unserializeRecurser(SimpleXMLIterator $projectProfileIterator, Zend_Tool_Provider_ZfProject_ProjectContext_ProjectContextAbstract $context = null)
 {
     foreach ($projectProfileIterator as $projectProfileNodeName => $projectProfileNode) {
         $subContextClass = self::getContextByName($projectProfileNodeName);
         $subContext = new $subContextClass();
         if ($subContext->getContextName() === 'projectProfileFile') {
             $subContext->setProjectProfile($this);
         }
         if ($attributes = $projectProfileNode->attributes()) {
             foreach ($attributes as $attrName => $attrValue) {
                 $clnAttrs[$attrName] = (string) $attrValue;
             }
             $subContext->setParameters($clnAttrs);
         }
         if ($context) {
             $context->append($subContext);
         } else {
             $this->appendProjectContext($subContext);
         }
         if ($projectProfileIterator->hasChildren()) {
             self::_unserializeRecurser($projectProfileIterator->getChildren(), $subContext);
         }
     }
 }