docs: public <E> Optional<E> getValueAs(String key, Class<E> type) {
          if (this.properties == null) {
              return Optional.empty();
          }
          return Optional.ofNullable(type.cast(getProperties().get(key)));
      }