docs: private <T> T getTyped(PropertyKey key, Class<T> clazz) {
          Property p = getProperty(key.m_key);
          
          if (null == p || null == p.getData()) {
              return clazz.cast(m_defaults.get(key));
          }
  
          return clazz.cast(p.getData());
      }