I really hate all these ``if (progressMonitor.isCanceled()) return Nil``, need to think if there is a better way to do so. I'm very much open to suggestions.