public function getActiveCages() : Collection
    {
        if ($this->activeCagesCollection !== null) {
            return $this->activeCagesCollection;
        }

        $this->activeCagesCollection = new Collection();

        foreach ($this->allCages as $id => $cage) {
            if (!$cage->isExpired() && !$cage->isRemoved()) {
                $this->activeCagesCollection->push($cage);
            }
        }

        return $this->activeCagesCollection;
    }