def rechunk(
        self,
        data: T_ChunkedArray,
        chunks: _NormalizedChunks | tuple[int, ...] | _Chunks,
        **kwargs: Any,
    ) -> Any:
        """
        Changes the chunking pattern of the given array.

        Called when the .chunk method is called on an xarray object that is already chunked.

        Parameters
        ----------
        data : dask array
            Array to be rechunked.
        chunks :  int, tuple, dict or str, optional
            The new block dimensions to create. -1 indicates the full size of the
            corresponding dimension. Default is "auto" which automatically
            determines chunk sizes.

        Returns
        -------
        chunked array

        See Also
        --------
        dask.array.Array.rechunk
        cubed.Array.rechunk
        """
        return data.rechunk(chunks, **kwargs)

        Changes the chunking pattern of the given array.

        Called when the .chunk method is called on an xarray object that is already chunked.

        Parameters
        ----------
        data : dask array
            Array to be rechunked.
        chunks :  int, tuple, dict or str, optional
            The new block dimensions to create. -1 indicates the full size of the
            corresponding dimension. Default is "auto" which automatically
            determines chunk sizes.

        Returns
        -------
        chunked array

        See Also
        --------
        dask.array.Array.rechunk
        cubed.Array.rechunk
        
xarray/namedarray/parallelcompat.py