def METHOD_NAME(self, lToi):
    for oToi in lToi:
        iLine, lTokens = utils.get_toi_parameters(oToi)
        iColumn = 0
        bSignalFound = False
        bSkip = False
        dAnalysis = {}
        dTemp = {}
        for iToken, oToken in enumerate(lTokens):
           iLine = utils.increment_line_number(iLine, oToken)
           if isinstance(oToken, parser.carriage_return):
               iColumn = 0
           else:
               iColumn += len(oToken.get_value())
           bSkip = check_for_exclusions(bSkip, oToken, self.lUnless)
           if bSkip:
               continue
           bSignalFound = check_for_signal_declaration(bSignalFound, oToken)
           if not bSignalFound:
               iComma = 0
               continue
           if isinstance(oToken, token.signal_declaration.colon):
               bSignalFound = False
               if iComma == 1:
                   dAnalysis[dTemp['line_number']] = dTemp
               continue
           if isinstance(oToken, parser.comma):
               iComma += 1
               if iComma == 2:
                   bSignalFound = False
                   continue
               dTemp = {}
               dTemp['comma_column'] = iColumn
               dTemp['comma_index'] = iToken
               dTemp['line_number'] = iLine
               if utils.are_next_consecutive_token_types([parser.whitespace, token.signal_declaration.identifier], iToken + 1, lTokens):
                   dTemp['identifier_column'] = iColumn + len(lTokens[iToken + 1].get_value())
                   dTemp['token_index'] = iToken + 2
                   dTemp['token_value'] = lTokens[iToken + 2].get_value()
               elif utils.are_next_consecutive_token_types([token.signal_declaration.identifier], iToken + 1, lTokens):
                   dTemp['identifier_column'] = iColumn + 1
                   dTemp['token_index'] = iToken + 1
                   dTemp['token_value'] = lTokens[iToken + 1].get_value()
               else:
                   bSignalFound = False
        add_adjustments_to_dAnalysis(dAnalysis, self.compact_alignment)
        for iKey in list(dAnalysis.keys()):
            if dAnalysis[iKey]['adjust'] != 0:
                oLineTokens = oToi.extract_tokens(dAnalysis[iKey]['comma_index'], dAnalysis[iKey]['token_index'])
                sSolution = 'Move ' + dAnalysis[iKey]['token_value'] + ' ' + str(dAnalysis[iKey]['adjust']) + ' columns'
                oViolation = violation.New(dAnalysis[iKey]['line_number'], oLineTokens, sSolution)
                oViolation.set_action(dAnalysis[iKey])
                self.add_violation(oViolation)
        dAnalysis = {}