ReaderInputStream.Builder.setCharset(null) should reset to a default
object, not throw an NPE
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 0e4f002..ba1ddae 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -73,6 +73,9 @@
       <action dev="ggregory" type="fix" due-to="Gary Gregory">
         ReaderInputStream.Builder.setCharsetEncoder(null) should reset to a default object, not throw an NPE.
       </action>
+      <action dev="ggregory" type="fix" due-to="Gary Gregory">
+        ReaderInputStream.Builder.setCharset(null) should reset to a default object, not throw an NPE.
+      </action>
       <!-- ADD -->
       <action dev="ggregory" type="add" due-to="Gary Gregory">
         Add CharSequenceInputStream.Builder.
diff --git a/src/main/java/org/apache/commons/io/build/AbstractStreamBuilder.java b/src/main/java/org/apache/commons/io/build/AbstractStreamBuilder.java
index f38bed0..8beccd9 100644
--- a/src/main/java/org/apache/commons/io/build/AbstractStreamBuilder.java
+++ b/src/main/java/org/apache/commons/io/build/AbstractStreamBuilder.java
@@ -99,7 +99,7 @@
      *
      * @return the Charset, defaults to {@link Charset#defaultCharset()}.
      */
-    protected Charset getCharset() {
+    public Charset getCharset() {
         return charset;
     }
 
diff --git a/src/main/java/org/apache/commons/io/input/ReaderInputStream.java b/src/main/java/org/apache/commons/io/input/ReaderInputStream.java
index 0108780..69e0042 100644
--- a/src/main/java/org/apache/commons/io/input/ReaderInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/ReaderInputStream.java
@@ -129,8 +129,9 @@
 
         @Override
         public Builder setCharset(final Charset charset) {
-            charsetEncoder = charset.newEncoder();
-            return super.setCharset(charset);
+            super.setCharset(charset);
+            charsetEncoder = getCharset().newEncoder();
+            return this;
         }
 
         /**
diff --git a/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java b/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java
index 565fa1e..db104da 100644
--- a/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java
@@ -243,11 +243,21 @@
     }
 
     @Test
+    public void testResetCharset() {
+        assertNotNull(ReaderInputStream.builder().setReader(new StringReader("\uD800")).setCharset((Charset) null).getCharset());
+    }
+
+    @Test
     public void testResetCharsetEncoder() {
         assertNotNull(ReaderInputStream.builder().setReader(new StringReader("\uD800")).setCharsetEncoder(null).getCharsetEncoder());
     }
 
     @Test
+    public void testResetCharsetName() {
+        assertNotNull(ReaderInputStream.builder().setReader(new StringReader("\uD800")).setCharset((String) null).getCharset());
+    }
+
+    @Test
     public void testUTF16WithSingleByteRead() throws IOException {
         testWithSingleByteRead(TEST_STRING, UTF_16);
     }