docs: public static int copy(Reader in, Writer out) throws IOException {
          assert in != null : "No input Reader specified";
          assert out != null : "No output Writer specified";
  
          try {
              int byteCount = 0;
              char[] buffer = new char[BUFFER_SIZE];
              int bytesRead = -1;
              while ((bytesRead = in.read(buffer)) != -1) {
                  out.write(buffer, 0, bytesRead);
                  byteCount += bytesRead;
              }
              out.flush();
              return byteCount;
          } finally {
              try {
                  in.close();
              } catch (IOException ex) {
              }
              try {
                  out.close();
              } catch (IOException ex) {
              }
          }
      }