code: def set_match_statements(self, name, action, seqno, statements):
          
          try:
              current_statements = self.get(name)[action][seqno]['match']
          except:
              current_statements = []
  
          commands = list()
  
          # remove set statements from current routemap
          for entry in set(current_statements).difference(statements):
              commands.append('route-map %s %s %s' % (name, action, seqno))
              commands.append('no match %s' % entry)
  
          # add new set statements to the routemap
          for entry in set(statements).difference(current_statements):
              commands.append('route-map %s %s %s' % (name, action, seqno))
              commands.append('match %s' % entry)
  
          return self.configure(commands) if commands else True
docs: Configures the match statements within the routemap clause.
          The final configuration of match statements will reflect the list
          of statements passed into the statements attribute. This implies
          match statements found in the routemap that are not specified in the
          statements attribute will be removed.
  
          Args:
              name (string): The full name of the routemap.
              action (string): The action to take for this routemap clause.
              seqno (integer): The sequence number for the routemap clause.
              statements (list): A list of the match-related statements. Note
                                 that the statements should omit the leading
                                 match.
  
          Returns:
              True if the operation succeeds otherwise False