docs: 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