code: public static ExchangeClassLoader with(@NonNull ClassLoader classLoader) {
          Require.nonNull(classLoader, "classLoader");
          return new ExchangeClassLoader(classLoader);
      }
docs: Exchanges the context ClassLoader with the given one until
  {@link #close()} is called.
  
  @param classLoader The Classloader to employ.
  @return The {@link ExchangeClassLoader} object to use in a try-resources
  block.