'Trigger the breakpoint.
:param state:   The state.'

def fire(self, state):

    if ((self.action is None) or (self.action == BP_IPDB)):
        import ipdb
        ipdb.set_trace()
    elif (self.action == BP_IPYTHON):
        import IPython
        shell = IPython.terminal.embed.InteractiveShellEmbed()
        shell.mainloop(display_banner=(('This    is    an    ipython    shell    for    you    to    happily    debug    your    state!\n' + "The    state    can    be    accessed    through    the    variable    'state'.    You    can\n") + 'make    modifications,    then    exit    this    shell    to    resume    your    analysis.'))
    else:
        self.action(state)
