code: public Reader getReader() throws IOException {
          if (this.charset != null) {
              return new InputStreamReader(this.resource.getInputStream(), this.charset);
          } else if (this.encoding != null) {
              return new InputStreamReader(this.resource.getInputStream(), this.encoding);
          } else {
              return new InputStreamReader(this.resource.getInputStream());
          }
      }
docs: Open a {@code java.io.Reader} for the specified resource, using the
  specified {@link #getCharset() Charset} or {@linkplain #getEncoding()
  encoding} (if any).
  
  @throws IOException if opening the Reader failed
  @see #requiresReader()
  @see #getInputStream()