code: def to_data(self):
      data_source = self.__data_class__()
      data_target = self.__data_class__()
      for key in self.keys:
          match = re.search(r"(.+)_target$", key)
          if match is None:
              data_source[key] = self[key]
          else:
              new_key = match.groups()[0]
              data_target[new_key] = self[key]
      return data_source, data_target
  
imports: import torch
  from typing import List, Optional
  from torch_geometric.data import Data
  from torch_geometric.data import Batch
  from torch_points3d.datasets.multiscale_data import MultiScaleBatch, MultiScaleData
  import re
label_desc: Use image node_id 3 for calling the Pair obj's underlying member method code with example usage: obj.to_data() and returns: data_source,  data_target