'Determine whether to delete info in group
Note on self.__cb flag.
If you find that you are in a delete group, and the previous
token in not an open bracket (self.__ob = 0), that means
that the delete group is nested inside another acceptable
detination group. In this case, you have already written
the open bracket, so you will need to write the closed one
as well.'

def __asterisk_func(self, line):

    self.__found_delete = True
    if (self.__token_info == 'cb<nu<clos-brack'):
        if (self.__delete_count == self.__cb_count):
            self.__state = 'default'
            self.__ob = 0
            return False
        else:
            if (self.__run_level > 3):
                msg = 'Flag    problem\n'
                raise self.__bug_handler, msg
            return True
    elif (self.__token_info in self.__allowable):
        if self.__ob:
            self.__write_obj.write(self.__ob)
            self.__ob = 0
            self.__state = 'default'
        else:
            pass
        return True
    elif (self.__token_info == 'cw<ls<list______'):
        self.__ob = 0
        self.__found_list_func(line)
    elif (self.__token_info in self.__not_allowable):
        if (not self.__ob):
            self.__write_cb = True
        self.__ob = 0
        self.__state = 'delete'
        self.__cb_count = 0
        return False
    else:
        if (self.__run_level > 5):
            msg = ('After    an    asterisk,    and    found    neither    an    allowable    or    non-allowable    token\n                                                                                                                token    is    "%s"\n' % self.__token_info)
            raise self.__bug_handler, msg
        if (not self.__ob):
            self.__write_cb = True
        self.__ob = 0
        self.__state = 'delete'
        self.__cb_count = 0
        return False
