code: def _test_limit_reader_init_shared(self, size):
      ws = workspace.C.Workspace()
      session = LocalSession(ws)
  
      # Make source dataset
      src_ds = make_source_dataset(ws, size=size)
  
      # Make an identically-sized empty destination Dataset
      dst_ds = make_destination_dataset(
          ws, src_ds.content().clone_schema()
      )
  
      return ws, session, src_ds, dst_ds
  
imports: from caffe2.python.dataio import CompositeReader, CompositeReaderBuilder, ReaderBuilder, ReaderWithDelay, ReaderWithLimit, ReaderWithTimeLimit
  from caffe2.python.dataset import Dataset
  from caffe2.python.db_file_reader import DBFileReader
  from caffe2.python.pipeline import pipe
  from caffe2.python.schema import Struct, NewRecord, FeedRecord
  from caffe2.python.session import LocalSession
  from caffe2.python.task import TaskGroup, final_output, WorkspaceType
  from caffe2.python.test_util import TestCase
  from caffe2.python.cached_reader import CachedReader
  from caffe2.python import core, workspace, schema
  from caffe2.python.net_builder import ops
  import numpy
  import numpy.testing
  import os
  import shutil
  import unittest
  import tempfile
label_desc: Use image node_id 2 for calling the TestReaderWithLimit obj's underlying member method code with example usage: obj._test_limit_reader_init_shared(size) and returns: ws,  session,  src_ds,  dst_ds