public static function fetchPublic(Connection $conn, $routeId, $expectedAreaStatus, $forUpdate = false)
 {
     $route = EdkRoute::fetchApproved($conn, $routeId);
     if (false === $route || $route->getArea()->getStatus()->getId() != $expectedAreaStatus) {
         return false;
     }
     $data = $conn->fetchAssoc('SELECT s.* FROM `' . EdkTables::REGISTRATION_SETTINGS_TBL . '` s WHERE `routeId` = :id AND `registrationType` = ' . EdkRegistrationSettings::TYPE_EDK_WEBSITE . ($forUpdate ? ' FOR UPDATE' : ''), [':id' => $routeId]);
     if (false === $data) {
         return false;
     }
     $item = self::fromArray($data);
     $item->route = $route;
     return $item;
 }