public function hydrateFromEntry(EntryInterface $entry)
    {
        $this->dn = $entry->getDn();

        $this->attributes = array();

        foreach ($entry->getAttributes() as $name => $data) {
            $attr = new NodeAttribute($name);
            $attr->add($data);
            $this->mergeAttribute($attr);
        }

        $this->snapshot();
    }