code: def __getitem__(self, idx):
      sample = {
          "source_text": self.source_text[idx],
      }
      if self.pretraining is None:
          sample.update(
              {
                  "source_ids": self.source_ids[idx],
                  "target_text": self.target_text[idx],
              }
          )
          if self.paired_text:
              sample.update({"target_ids": self.target_ids[idx]})
      return sample
  
file_path: TextBox/textbox/data/abstract_dataset.py
imports: import os
  import torch, warnings
  import math
  from torch.utils.data import DataLoader, Dataset
  from textbox import CLM_MODELS
  from typing import List
  from torch.nn.utils.rnn import pad_sequence
  from textbox.data.misc import load_data, _pad_sequence
label_desc: Use image node_id 3 for calling the AbstractDataset obj's underlying member method code with example usage: obj.__getitem__(idx) and returns: sample