protected function outputNotNull($value): string
    {
        if (!is_array($value)) {
            throw TypeConversionException::unexpectedValue($this, 'output', 'array', $value);
        }
        if (0 === count($value)) {
            return '{}';
        }

        $requiredSizes = $this->calculateRequiredSizes($value);
        // this can only happen if $_item->dimensions() > 0, i.e. it should be an array iself
        if (count($requiredSizes) < 1) {
            throw TypeConversionException::unexpectedValue(
                $this,
                'output',
                "array with at least {$this->itemConverter->dimensions()} dimension(s)",
                reset($value)
            );
        }
        return $this->buildArrayLiteral($value, $requiredSizes);
    }