How to guard against inifinte loops?

When GtProcessStackOverflowChecker Object << #GtProcessStackOverflowChecker slots: { #process . #watcherProcess . #depth }; sharedVariables: { #CurrentCheckerClass }; package: 'GToolkit-Utility-StackOverflow' is installed on a process, it raises an exception when it detects GtStackOverflowError Error << #GtStackOverflowError slots: {}; package: 'GToolkit-Utility-StackOverflow' . See the example below.

testStackOverflow
	<gtExample>
	<return: #GtProcessStackOverflowCheckerExamples>
	GtStackOverflowChecker
		suspendStackOverflowWatchersDuring: [ | end overflowed |
			overflowed := false.
			GtProcessStackOverflowChecker startForProcess: Processor activeProcess.
			end := DateAndTime now + 2 seconds.
			[ self recurseUntil: [ DateAndTime now > end ] ]
				on: GtStackOverflowError
				do: [ overflowed := true ].
			self assert: overflowed ]