protected function addTableKey(string $key) : void
    {
        if (!$this->keyStore->isValidTableKey($key)) {
            throw new DumpException("The table key \"{$key}\" has already been defined previously.");
        }

        if ($this->keyStore->isRegisteredAsArrayTableKey($key)) {
            throw new DumpException("The table \"{$key}\" has already been defined as previous array of tables.");
        }

        $this->keyStore->addTableKey($key);
    }