public function freeze() /*: object*/
    {
        if (!$this->frozen) {
            $this->frozen = true;
            foreach ($this->explorableIndex as $name) {
                if ($this->{$name} instanceof FreezableInterface) {
                    $this->{$name}->freeze();
                }
            }
        }
        return $this;
    }