/** * Sets the date and time when this node becomes potentially visible. * * @param \DateTime $dateTime Date before this node should be hidden * @return void * @api */ public function setHiddenBeforeDateTime(\DateTime $dateTime = null) { if (!$this->isNodeDataMatchingContext()) { $this->materializeNodeData(); } if ($this->getHiddenBeforeDateTime() instanceof \DateTime && $dateTime instanceof \DateTime && $this->getHiddenBeforeDateTime()->format(\DateTime::W3C) === $dateTime->format(\DateTime::W3C)) { return; } $this->nodeData->setHiddenBeforeDateTime($dateTime); $this->context->getFirstLevelNodeCache()->flush(); $this->emitNodeUpdated($this); }