code: def cutoff(self, xstart=None, xend=None):
      if xstart is None:
          xstart = self.xmin
  
      if xend is None:
          xend = self.xmax
  
      if xend < xstart:
          raise ValueError(
              "xend ({}) < xstart ({})".format(xend, xstart)
          )
  
      new_xmax = xend - xstart + self.xmin
      new_xmin = self.xmin
      new_tiers = []
  
      for tier in self.tiers:
          new_tiers.append(tier.cutoff(xstart=xstart, xend=xend))
      return TextGrid(
          file_type=self.file_type,
          object_class=self.object_class,
          xmin=new_xmin,
          xmax=new_xmax,
          tiers_status=self.tiers_status,
          tiers=new_tiers,
      )
  
imports: import argparse
  import codecs
  import glob
  import os
  import sys
  from multiprocessing import Pool
label_desc: Use image node_id 2 for calling the TextGrid obj's underlying member method code with example usage: obj.cutoff(xstart, xend) and returns: TextGrid