/**
  * resolves a single path
  * 
  * @param  String $_path
  * @return array of container ids
  */
 protected function _resolvePath($_path)
 {
     $containerIds = array();
     if ($containerId = Tinebase_Model_Container::pathIsContainer($_path)) {
         if ($this->_options['ignoreAcl'] == TRUE) {
             $containerIds[] = $containerId;
         } else {
             if (Tinebase_Core::getUser()->hasGrant($containerId, $this->_requiredGrants)) {
                 $containerIds[] = $containerId;
             }
         }
     } else {
         if ($ownerId = Tinebase_Model_Container::pathIsPersonalNode($_path)) {
             $containerIds = $this->_resolveContainerNode('personal', $ownerId);
         } else {
             $node = $_path == '/' ? 'all' : substr($_path, 1);
             $node = $node === 'personal' ? Tinebase_Model_Container::TYPE_OTHERUSERS : $node;
             $containerIds = $this->_resolveContainerNode($node);
         }
     }
     return $containerIds;
 }
 /**
  * return a container identified by path
  *
  * @param   string  $_path        the path to the container
  * @param   bool    $_getDeleted  get deleted records
  * @return  Tinebase_Model_Container
  * @throws  Tinebase_Exception_NotFound
  */
 public function getByPath($_path, $_getDeleted = FALSE)
 {
     if ($containerId = Tinebase_Model_Container::pathIsContainer($_path) === false) {
         throw new Tinebase_Exception_UnexpectedValue("Invalid path {$_path} supplied.");
     }
     return $this->getContainerById($containerId, $_getDeleted);
 }