/** * @param ProtoDAO $dao * @param JoinCapableQuery $query * * @return ConditionalSwitch */ public function toMapped(ProtoDAO $dao, JoinCapableQuery $query) { $mapped = new self(); foreach ($this->cases as $case) { $mapped->addWhen($case[0]->toMapped($dao, $query), $dao->guessAtom($case[1], $query)); } if ($this->default !== null) { $mapped->addElse($dao->guessAtom($this->default, $query)); } return $mapped; }