':returns: A set of all conditions for rules
that are applicable to C{tokens[index]}.'

def _applicable_conditions(self, tokens, index):

    conditions = []
    for feature in self._features:
        conditions.append([])
        for pos in feature.positions:
            if (not (0 <= (index + pos) < len(tokens))):
                continue
            value = feature.extract_property(tokens, (index + pos))
            conditions[(-1)].append((feature, value))
    return conditions
