def METHOD_NAME(self, lToi):
    sSolution = 'Remove blank lines above *begin* keyword'
    dAction = {}
    dAction['action'] = 'Remove'
    for oToi in lToi:
        lTokens = oToi.get_tokens()
        iLine = oToi.get_line_number() + utils.count_carriage_returns(lTokens)
        for iToken, oToken in enumerate(lTokens):
            if utils.are_next_consecutive_token_types_ignoring_whitespace([token.process_keyword, token.begin_keyword], iToken, lTokens):
                if blank_lines_exist(iToken, lTokens):
                    oViolation = violation.New(iLine, oToi, sSolution)
                    oViolation.set_action(dAction)
                    self.add_violation(oViolation)
                    break
            if utils.are_next_consecutive_token_types_ignoring_whitespace([token.close_parenthesis, token.begin_keyword], iToken, lTokens):
                if blank_lines_exist(iToken, lTokens):
                    oViolation = violation.New(iLine, oToi, sSolution)
                    oViolation.set_action(dAction)
                    self.add_violation(oViolation)
                    break
            if utils.are_next_consecutive_token_types_ignoring_whitespace([token.is_keyword, token.begin_keyword], iToken, lTokens):
                if blank_lines_exist(iToken, lTokens):
                    oViolation = violation.New(iLine, oToi, sSolution)
                    oViolation.set_action(dAction)
                    self.add_violation(oViolation)
                    break