def METHOD_NAME(self, result, debug=False):
    if self.dryrun:
        self._dryrun(result)
        return
    for test in self:
        if result.shouldStop:
            break
        if unittest.suite._isnotsuite(test):
            run_result = test.defaultTestResult()
            self._tearDownPreviousClass(test, result)
            self._handleModuleFixture(test, result)
            self._handleClassSetUp(test, result)
            result._previousTestClass = test.__class__
            if (getattr(test.__class__, '_classSetupFailed', False) or
                getattr(result, '_moduleSetUpFailed', False)):
                continue
            if issubclass(result.__class__, TINCTestResultSet) and \
                    issubclass(test.__class__, TINCTestCase):
                run_result = test.defaultTestResult(result.stream,
                                                    result.descriptions,
                                                    result.verbosity)
        else:
            if issubclass(result.__class__, TINCTestResultSet):
                run_result = TINCTestResultSet(result.stream, 
                                               result.descriptions, 
                                               result.verbosity)
        if hasattr(test, '_wrapped_run'):
            test.METHOD_NAME(result, debug)
            if issubclass(result.__class__, TINCTestResultSet):
                result.addResult(run_result)
            else:
                result.testsRun += run_result.testsRun
                if run_result.failures:
                    result.failures.extend(run_result.failures)
                if run_result.errors:
                    result.errors.extend(run_result.errors)
                if run_result.skipped:
                    result.skipped.extend(run_result.skipped)
        elif not debug:
            test(run_result)
            if issubclass(result.__class__, TINCTestResultSet):
                result.addResult(run_result)
            else:
                result.testsRun += run_result.testsRun
                if run_result.failures:
                    result.failures.extend(run_result.failures)
                if run_result.errors:
                    result.errors.extend(run_result.errors)
                if run_result.skipped:
                    result.skipped.extend(run_result.skipped)
        else:
            test.debug()