// runnable = Runnable or String (method name) static Thread newThread(O runnable) { ret new Thread(_topLevelErrorHandling(toRunnable(runnable))); } static Thread newThread(O runnable, S name) { if (name == null) name = defaultThreadName(); ret new Thread(_topLevelErrorHandling(toRunnable(runnable)), name); } static Thread newThread(S name, O runnable) { ret newThread(runnable, name);. }