public function insertPrevious($name, $object) { $previous = new self($name, $object); $previous->setNext($this); if ($this->isFirst()) { $previous->setPrevious(null); } else { $this->previous->setNext($previous); $previous->setPrevious($this->previous); } $this->setPrevious($previous); return $this; }