/** * @since 2.5 * * @param $dataItem * * @return DataItem */ public function findRedirectTarget($dataItem) { if (!$dataItem instanceof DIWikiPage && !$dataItem instanceof DIProperty) { return $dataItem; } $hash = $dataItem->getSerialization(); // Guard against a dataItem that points to itself $this->circularReferenceGuard->mark($hash); if (!$this->circularReferenceGuard->isCircularByRecursionFor($hash)) { $dataItem = $this->store->getRedirectTarget($dataItem); } $this->circularReferenceGuard->unmark($hash); return $dataItem; }