'>>> ds = digit_sum()
>>> ds._do_combinations( \'abc123\' )
[\'abc124\', \'abc122\']
>>> ds._do_combinations( \'abc123def56\' )
[\'abc124def56\', \'abc122def56\', \'abc123def57\', \'abc123def55\']'

def _do_combinations(self, a_string):

    res = []
    split = self._find_digits(a_string)
    if (len(split) <= (2 * self._max_digit_sections)):
        for i in xrange(len(split)):
            if split[i].isdigit():
                split[i] = str((int(split[i]) + 1))
                res.append(''.join(split))
                split[i] = str((int(split[i]) - 2))
                res.append(''.join(split))
                split[i] = str((int(split[i]) + 1))
    return res
