code: def handle_interlude(
          self, obj, folder, index, ensemble,
          loop=None, **kwargs
      ):
          
          if obj is None:
              return folder.metadata
          else:
              return obj(folder, index, ensemble, loop=loop, **kwargs)
docs: Handle an interlude event.
  
          Interlude functions permit branching. They return a folder which the
          application can choose to adopt as the next supplier of dialogue.
  
          This handler calls the interlude with the supplied arguments and
          returns the result.
  
          :param obj: A callable object.
          :param folder: A
              :py:class:`~turberfield.dialogue.model.SceneScript.Folder` object.
          :param int index: Indicates which scene script in the folder
              is being processed.
          :param ensemble: A sequence of Python objects.
          :param branches: A sequence of
              :py:class:`~turberfield.dialogue.model.SceneScript.Folder` objects.
              from which to pick a branch in the action.
          :return: A :py:class:`~turberfield.dialogue.model.SceneScript.Folder`
              object.