'handle missing or overflow/underflow start/stop'

def _handle_defaults(self, position):

    if (position.start is None):
        start = 0
    elif (position.start >= len(self.word_index)):
        start = len(self.tokens)
    else:
        start = self.word_index[position.start]
    if ((position.stop is None) or (position.stop > len(self.word_index))):
        stop = self.word_index[(-1)]
    else:
        stop = self.word_index[(position.stop - 1)]
    return (start, (stop + 1))
