docs: public Object run() {
          Thread currentThread = Thread.currentThread();
          oldClassLoader = threadContextAccessor.getContextClassLoader(currentThread); // 369927
  
          // The following tests are done in a certain order to maximize performance
          if (newClassLoader == oldClassLoader) {
              wasChanged = false;
          } else if ((newClassLoader == null && oldClassLoader != null)
                     || (newClassLoader != null &&
                     (oldClassLoader == null || !(newClassLoader.equals(oldClassLoader))))) {
              // class loaders are different, change to new one
              threadContextAccessor.setContextClassLoader(currentThread, newClassLoader); // 369927
              wasChanged = true;
          } else
              wasChanged = false;
  
          return oldClassLoader;
      }