public function __construct(GenericDAO $dao)
 {
     $this->dao = $dao;
     $this->className = $dao->getObjectName();
     if (($cache = Cache::me()) instanceof WatermarkedPeer) {
         $this->watermark = $cache->mark($this->className)->getActualWatermark();
     }
 }
 public function __construct(Identifiable $parent, GenericDAO $dao, $lazy = true)
 {
     Assert::isBoolean($lazy);
     $this->parent = $parent;
     $this->lazy = $lazy;
     $this->dao = $dao;
     Assert::isInstance($dao->getObjectName(), 'Identifiable');
     $this->comparator = SerializedObjectComparator::me();
 }