<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_match_statements(self, name, action, seqno, statements):
 """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 """

        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