code: @Override
      public GroovyRunner put(String key, GroovyRunner runner) {
          if (key == null || runner == null) {
              return null;
          }
          Map<String, GroovyRunner> map = getMap();
          writeLock.lock();
          try {
              cachedValues = null;
              return map.put(key, runner);
          } finally {
              writeLock.unlock();
          }
      }
docs: Registers a runner with the specified key.
  
  @param key to associate with the runner
  @param runner the runner to register
  @return the previously registered runner for the given key,
  if no runner was previously registered for the key
  then {@code null}