code: def retrieve_file_handles_of_same_dataset(self, **args):
          '''
          :return: List of handles, or empty list. Should never return None.
          :raise: SolrSwitchedOff
          :raise SolrError: If both strategies to find file handles failed.
          '''
  
          mandatory_args = ['drs_id', 'version_number', 'data_node']
          esgfpid.utils.check_presence_of_mandatory_args(args, mandatory_args)
          LOGGER.debug('Looking for files of dataset "%s", version "%s".',
                       args['drs_id'], str(args['version_number']))
  
          if self.__switched_on:
              return self.__retrieve_file_handles_of_same_dataset(**args)
          else:
              msg = 'Cannot retrieve handles of files of the same dataset.'
              raise esgfpid.exceptions.SolrSwitchedOff(msgf retrieve_file_handles_of_same_dataset(self, **args):
          '''
          :return: List of handles, or empty list. Should never return None.
          :raise: SolrSwitchedOff
          :raise SolrError: If both strategies to find file handles failed.
          '''
  
          mandatory_args = ['drs_id', 'version_number', 'data_node']
          esgfpid.utils.check_presence_of_mandatory_args(args, mandatory_args)
          LOGGER.debug('Looking for files of dataset "%s", version "%s".',
                       args['drs_id'], str(args['version_number']))
  
          if self.__switched_on:
              return self.__retrieve_file_handles_of_same_dataset(**args)
          else:
              msg = 'Cannot retrieve handles of files of the same dataset.'
              raise esgfpid.exceptions.SolrSwitchedOff(msg)
docs: :return: List of handles, or empty list. Should never return None.
          :raise: SolrSwitchedOff
          :raise SolrError: If both strategies to find file handles failed.