code: def _concat_taskaware_classification_datasets(
      datasets: Sequence[SupportedDataset],
      *,
      transform: Optional[XTransform] = None,
      target_transform: Optional[YTransform] = None,
      transform_groups: Optional[
          Mapping[str, TransformGroupDef]
      ] = None,
      initial_transform_group: Optional[str] = None,
      task_labels: Union[int, Sequence[int], Sequence[Sequence[int]]],
      targets: Union[
          Sequence[TTargetType], Sequence[Sequence[TTargetType]]
      ],
      collate_fn: Optional[Callable[[List], Any]] = None,
  ) -> TaskAwareSupervisedClassificationDataset:
      ...
  
imports: from functools import partial
  import torch
  from torch.utils.data.dataset import Subset, ConcatDataset, TensorDataset
  from avalanche.benchmarks.utils.utils import TaskSet, _count_unique, find_common_transforms_group, _init_task_labels, _init_transform_groups, _split_user_def_targets, _split_user_def_task_label, _traverse_supported_dataset
  from avalanche.benchmarks.utils.data import AvalancheDataset
  from avalanche.benchmarks.utils.transform_groups import TransformGroupDef, DefaultTransformGroups, XTransform, YTransform
  from avalanche.benchmarks.utils.data_attribute import DataAttribute
  from avalanche.benchmarks.utils.dataset_utils import SubSequence
  from avalanche.benchmarks.utils.flat_data import ConstantSequence
  from avalanche.benchmarks.utils.dataset_definitions import ISupportedClassificationDataset, ITensorDataset, IDatasetWithTargets
  from typing import List, Any, Sequence, Union, Optional, TypeVar, Callable, Dict, Tuple, Mapping, overload
label_desc: Use image node_id 15 for calling a global function with example usage: _concat_taskaware_classification_datasets(datasets) without return types