code: def select_splitfilejob_instance(curr_exe):
      
      if curr_exe == 'pycbc_hdf5_splitbank':
          exe_class = PycbcSplitBankExecutable
      elif curr_exe == 'pycbc_splitbank':
          exe_class = PycbcSplitBankXmlExecutable
      elif curr_exe == 'pycbc_split_inspinj':
          exe_class = PycbcSplitInspinjExecutable
      else:
          # Should we try some sort of default class??
          err_string = "No class exists for Executable %s" %(curr_exe,)
          raise NotImplementedError(err_string)
  
      return exe_class
docs: This function returns an instance of the class that is appropriate for
      splitting an output file up within workflow (for e.g. splitbank).
  
      Parameters
      ----------
      curr_exe : string
          The name of the Executable that is being used.
      curr_section : string
          The name of the section storing options for this executble
  
      Returns
      --------
      exe class : sub-class of pycbc.workflow.core.Executable
          The class that holds the utility functions appropriate
          for the given Executable. This class **must** contain
          * exe_class.create_job()
          and the job returned by this **must** contain
          * job.create_node()