docs: @Override
      public void putAll(Map<? extends String, ? extends GroovyRunner> m) {
          Map<String, GroovyRunner> map = getMap();
          writeLock.lock();
          try {
              cachedValues = null;
              for (Map.Entry<? extends String, ? extends GroovyRunner> entry : m.entrySet()) {
                  if (entry.getKey() != null && entry.getValue() != null) {
                      map.put(entry.getKey(), entry.getValue());
                  }
              }
          } finally {
              writeLock.unlock();
          }
      }