private function validateArchiving($archiving)
    {
        if ($this->isRoot() && $archiving !== null) {
            throw new \LogicException("Root page can't be archived.");
        }

        if (!($archiving instanceof \DateTime)) {
            $archiving = $this->convertTimestampToDateTime($archiving);
        }

        if ($archiving->getTimestamp() < time() || $archiving < $this->_publishing) {
            throw new \LogicException("Page can't be archived in the past or before publication date.");
        }

        return $archiving;
    }