code: @Override
      public synchronized void flush() throws IOException {
          ensureOpen();
          if (decodedBuf.position() > 0) {
              decodedBuf.flip();
              String contents = decodedBuf.toString();
              String filtered = contentFilter.filter(contents);
              out.write(filtered.getBytes(charset));
              decodedBuf.clear();
          }
          out.flush();
      }
docs: Flushes the current buffered contents and filters them as is.