<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_matching_indexes(self, possible_hash, possible_range):
 """ Get all indexes that could be queried on using a set of keys. If any indexes match both hash AND range keys, indexes that only match the hash key will be excluded from the result. Parameters possible_hash : set The names of fields that could be used as the hash key possible_range : set The names of fields that could be used as the range key """

        matches = [
            index
            for index in self.iter_query_indexes()
            if index.hash_key in possible_hash
        ]
        range_matches = [
            index for index in matches if index.range_key in possible_range
        ]
        if range_matches:
            return range_matches
        return matches