code: @SuppressWarnings("unchecked")
    public <T> ValueReader<T> getFirstSupportedReader(Class<T> type) {
      return (ValueReader<T>) valueReaders.first(type);
    }
docs: Returns the first ValueReader that supports reading values from the {@code type}, else
  {@code null} if none is found.