async def query(self, minhash):
        """
        see :class:`datasketch.MinHashLSH`.
        """
        if len(minhash) != self.h:
            raise ValueError("Expecting minhash with length %d, "
                             "got %d" % (self.h, len(minhash)))

        fs = (hashtable.get(self._H(minhash.hashvalues[start:end]))
              for (start, end), hashtable in zip(self.hashranges, self.hashtables))
        candidates = frozenset(chain.from_iterable(await asyncio.gather(*fs)))

        return list(candidates)