Currently a newly created thread is initially marked as being a daemon
thread if and only if the thread creating it is marked as a daemon thread.
We need a way to modify and control this behavior, i.e. to make a daemon
thread spawn threads that will be initially marked as being non-daemon.
This change is required to fix the bug (bugtraq id 4030718 - A program which
calls Toolkit.getDefaultToolkit() won't terminate - 136 JDC votes):
We are going to make Java event dispatch threads daemon. However this
will break the existing client code that creates new threads on the event
dispatch thread and doesn't explicitly set non-daemon status assuming that
the creating thread is non-daemon.