docs: @SuppressWarnings("unchecked")
    public static <E> E get(Properties props, String key, E defaultValue, Type type) {
      String value = props.getProperty(key);
      if (value == null) {
        return defaultValue;
      } else {
        return (E) MetaClass.cast(value, type);
      }
    }