private function mergeSelf(UncacherGenericDAO $uncacher)
 {
     foreach ($uncacher->getDaoMap() as $daoClass => $daoMap) {
         if (isset($this->daoMap[$daoClass])) {
             //merge identities
             $this->daoMap[$daoClass][0] = ArrayUtils::mergeUnique($this->daoMap[$daoClass][0], $daoMap[0]);
             //merge workers uncachers
             $this->daoMap[$daoClass][1]->merge($daoMap[1]);
         } else {
             $this->daoMap[$daoClass] = $daoMap;
         }
     }
     return $this;
 }
 /**
  * @return UncachersPool
  */
 public function getUncacherById($id)
 {
     return UncacherGenericDAO::create($this, $id, Cache::worker($this)->getUncacherById($id));
 }