code: void configure(String key, @Nullable String value) {
      switch (key) {
        case "initialCapacity":
          initialCapacity(key, value);
          return;
        case "maximumSize":
          maximumSize(key, value);
          return;
        case "maximumWeight":
          maximumWeight(key, value);
          return;
        case "weakKeys":
          weakKeys(value);
          return;
        case "weakValues":
          valueStrength(key, value, Strength.WEAK);
          return;
        case "softValues":
          valueStrength(key, value, Strength.SOFT);
          return;
        case "expireAfterAccess":
          expireAfterAccess(key, value);
          return;
        case "expireAfterWrite":
          expireAfterWrite(key, value);
          return;
        case "refreshAfterWrite":
          refreshAfterWrite(key, value);
          return;
        case "recordStats":
          recordStats(value);
          return;
        default:
          throw new IllegalArgumentException("Unknown key " + key);
      }
    }
docs: Configures the setting.