public function wrap(array &$array, string $path, string $wrapperName): void
    {
        // Get the value to move: if path is empty, get the full array graph
        $value = (empty($path) || '[]' === $path) ? $array : $this->pa->getValue($array, $path);

        // Remove eventual [ or ] from the $wrapperName
        $wrapperName = $this->unpathize($wrapperName);

        $value = [$wrapperName => $value];

        // Set the new value: if path is empty, edit the full Array Graph, edit only the given path instead
        if (empty($path)) {
            $array = $value;
        } else {
            $this->edit($array, $path, $value);
        }
    }