ClassLabel.cast_storage raises TypeError when called on an empty IntegerArray
{'login': 'marioga', 'id': 6591505, 'node_id': 'MDQ6VXNlcjY1OTE1MDU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6591505?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/marioga', 'html_url': 'https://github.com/marioga', 'followers_url': 'https://api.github.com/users/marioga/followers', 'following_url': 'https://api.github.com/users/marioga/following{/other_user}', 'gists_url': 'https://api.github.com/users/marioga/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/marioga/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/marioga/subscriptions', 'organizations_url': 'https://api.github.com/users/marioga/orgs', 'repos_url': 'https://api.github.com/users/marioga/repos', 'events_url': 'https://api.github.com/users/marioga/events{/privacy}', 'received_events_url': 'https://api.github.com/users/marioga/received_events', 'type': 'User', 'site_admin': False}
[]
[]
### Describe the bug

`ClassLabel.cast_storage` raises `TypeError` when called on an empty `IntegerArray`.

### Steps to reproduce the bug

Minimal steps:
```python
import pyarrow as pa
from datasets import ClassLabel

ClassLabel(names=['foo', 'bar']).cast_storage(pa.array([], pa.int64()))
```

In practice, this bug arises in situations like the one below:
```python
from datasets import ClassLabel, Dataset, Features, Sequence

dataset = Dataset.from_dict({'labels': [[], []]}, features=Features({'labels': Sequence(ClassLabel(names=['foo', 'bar']))}))

# this raises TypeError
dataset.map(batched=True, batch_size=1)
```

### Expected behavior

`ClassLabel.cast_storage` should return an empty Int64Array.

### Environment info

- `datasets` version: 2.9.1.dev0
- Platform: Linux-4.15.0-1032-aws-x86_64-with-glibc2.27
- Python version: 3.10.6
- PyArrow version: 11.0.0
- Pandas version: 1.5.3
{'url': 'https://api.github.com/repos/huggingface/datasets/issues/5520/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}