docs: public void load(ClassLoader classLoader) {
          Map<String, GroovyRunner> map = runnerMap; // direct read
          if (map == null) {
              map = getMap(); // initialize and load (recursive call), result ignored
              if (classLoader == null) {
                  // getMap() already loaded using a null classloader
                  return;
              }
          }
          writeLock.lock();
          try {
              if (classLoader == null) {
                  classLoader = Thread.currentThread().getContextClassLoader();
              }
              cachedValues = null;
              loadDefaultRunners();
              loadWithLock(classLoader);
          } catch (SecurityException se) {
              LOG.log(Level.WARNING, "Failed to get the context ClassLoader", se);
          } catch (ServiceConfigurationError sce) {
              LOG.log(Level.WARNING, "Failed to load GroovyRunner services from ClassLoader " + classLoader, sce);
          } finally {
              writeLock.unlock();
          }
      }