code: public Thread createThread(final Runnable target, final String name, final ClassLoader contextLoader) {
          if (System.getSecurityManager() == null)
              return createThread0(target, name, contextLoader);
          return AccessController.doPrivileged(new PrivilegedAction<Thread>() {
              @Override
              public Thread run() {
                  return createThread0(target, name, contextLoader);
              }
          }, controlContext);
      }
docs: Creates a new Thread from a Runnable. Same as calling
  new Thread(target,name).setContextClassLoader(contextLoader).
  
  @param target the Runnable to create the Thread from.
  @param name The name of the Thread.
  @param contextLoader the context class loader for the thread
  @return The new Thread