class_docstr: A dataset that makes a defensive copy of the
  targets before returning them.
  
  Alas, many detection transformations, including the
  ones in the torchvision repository, modify bounding boxes
  (and other elements) in place.
  Luckly, images seem to be never modified in place.
code: def __getitem__(self, index):
      return self.images[index], copy.deepcopy(self.targets[index])
  
imports: import copy
  import itertools
  from os.path import expanduser
  import os
  import random
  import torch
  from PIL.Image import Image
  from sklearn.datasets import make_blobs, make_classification
  from sklearn.model_selection import train_test_split
  import numpy
  from torch.utils.data import TensorDataset, Dataset
  from torch.utils.data.dataloader import DataLoader
  from torchvision.datasets import MNIST
  from torchvision.transforms import Compose, ToTensor
  from avalanche.benchmarks import nc_benchmark
  from avalanche.benchmarks.datasets import default_dataset_location
  from avalanche.benchmarks.utils import _make_taskaware_tensor_classification_dataset
  from avalanche.benchmarks.utils.detection_dataset import make_detection_dataset
label_desc: Use image node_id 3 for calling the _DummyDetectionDataset obj's underlying member method code with example usage: obj.__getitem__(index) and returns: self,  copy