def findMatches(self, token):
    if (not token):
        return sorted(self.choices)
    tokens = self.tokenizeInput(token)
    matches = [set(flatten(self._vals(self.searchtree, prefix=t))) for t in tokens]
    op = (intersection if (self.options.operator == 'AND') else union)
    return sorted(reduce(op, matches))
def findMatches(self, token):
    if (not token):
        return sorted(self.choices)
    tokens = self.tokenizeInput(token)
    matches = [set(flatten(self._vals(self.searchtree, prefix=t))) for t in tokens]
    op = (intersection if (self.options.operator == 'AND') else union)
    return sorted(reduce(op, matches))