'Handle a DRS condition
:param indices: list of int
:return: list of ``DrtExpression``'

def handle_condition(self, tok, indices):

    if (tok == u'not'):
        return [self._handle_not()]
    if (tok == u'or'):
        conds = [self._handle_binary_expression(self._make_or_expression)]
    elif (tok == u'imp'):
        conds = [self._handle_binary_expression(self._make_imp_expression)]
    elif (tok == u'eq'):
        conds = [self._handle_eq()]
    elif (tok == u'prop'):
        conds = [self._handle_prop()]
    elif (tok == u'pred'):
        conds = [self._handle_pred()]
    elif (tok == u'named'):
        conds = [self._handle_named()]
    elif (tok == u'rel'):
        conds = [self._handle_rel()]
    elif (tok == u'timex'):
        conds = self._handle_timex()
    elif (tok == u'card'):
        conds = [self._handle_card()]
    elif (tok == u'whq'):
        conds = [self._handle_whq()]
    elif (tok == u'duplex'):
        conds = [self._handle_duplex()]
    else:
        conds = []
    return sum([[cond(sent_index, word_indices) for cond in conds] for (sent_index, word_indices) in self._sent_and_word_indices(indices)], [])
