code: def apply_cut(self, cut):
          
          # TODO: is the MICE cache reusable?
          return MacroSubsystem(
              self.network,
              self.network_state,
              self.micro_node_indices,
              cut=cut,
              time_scale=self.time_scale,
              blackbox=self.blackbox,
              coarse_grain=self.coarse_grain)
docs: Return a cut version of this |MacroSubsystem|.
  
          Args:
              cut (Cut): The cut to apply to this |MacroSubsystem|.
  
          Returns:
              MacroSubsystem: The cut version of this |MacroSubsystem|.