/** * Set node parent * @param ZNode $a_parent * @return ZNode */ public function &setParent(ZNode &$a_parent) { if ($this->m_parent) { if ($this->m_parent->getId() == $a_parent->getId()) { return $this; } $this->m_parent->removeChildren($this); unset($this->m_parent); } $this->m_parent =& $a_parent; $this->m_parent->addChildren($this); return $this; }