The need to (de-)register threads has always been a source of panic. E.g. calling Domino functions from within Swing. But Java 8 brings another, more subtle problem. Working with streams makes a lot of things much easier and more clearly - but if you access Domino from within a stream it may work or may crash your server. This is because streams might be executed in different threads. And if you convince the stream api to use your custom ThreadFactory, your code gets ugly and the gains of using stream are mostly lost.