'Collect information about whether each token type occurs
with different case patterns (i) overall, (ii) at
sentence-initial positions, and (iii) at sentence-internal
positions.'

def _get_orthography_data(self, tokens):

    context = u'internal'
    tokens = list(tokens)
    for aug_tok in tokens:
        if (aug_tok.parastart and (context != u'unknown')):
            context = u'initial'
        if (aug_tok.linestart and (context == u'internal')):
            context = u'unknown'
        typ = aug_tok.type_no_sentperiod
        flag = _ORTHO_MAP.get((context, aug_tok.first_case), 0)
        if flag:
            self._params.add_ortho_context(typ, flag)
        if aug_tok.sentbreak:
            if (not (aug_tok.is_number or aug_tok.is_initial)):
                context = u'initial'
            else:
                context = u'unknown'
        elif (aug_tok.ellipsis or aug_tok.abbr):
            context = u'unknown'
        else:
            context = u'internal'
