docs: public <T> T read(Class<T> clazz) {
          try {
              return readInternal(clazz);
          } catch (Exception e) {
              if (e instanceof RuntimeException) {
                  throw (RuntimeException) e;
              }
              if (e instanceof IOException) {
                  throw new UncheckedIOException((IOException) e);
              }
              throw new RuntimeException(e);
          }
      }