Example #1
1
  @SuppressWarnings("unchecked")
  public <T> T getOrConstruct(Prop<T> key) {

    Prop<T> cc = key.findCannon();
    if (cc != null && cc.autoConstructor != null) {
      return (T) dictionary.computeIfAbsent(key, k -> cc.autoConstructor.get());
    }
    return get(key);
  }