Java10 の Reader に transferTo がある!

Java 9 で、InputStream に、public long transferTo​(OutputStream out) という
なんとも横着なメソッドが追加されたが、
Java10 では、Reader にもこれに相当の
public long transferTo​(Writer out) が追加された。。

try(FileInputStream in = new FileInputStream("a.png");
   FileOutputStream out = new FileOutputStream("b.png")){
   in.transferTo(out);
}catch(IOException ex){
   ex.printStackTrace();
}
try(FileReader reader = new FileReader("a.png");
   FileWriter out = new FileWriter("c.png")){
   reader.transferTo(out);
}catch(Exception ex){
   ex.printStackTrace();
}

でも、FileReader の transferTo なんかおかしい。テキストファイルで使う分には問題ないが、
上のようにバイナリ系のファイルではエラーも吐かずに期待に反するものを出力する。

でもこれは当たり前なのかも知れない。Writer の write メソッドは、元々 character を書きだすものだからなのか。
そんな間違ったことを書いてしまうなら、Reader に transferTo が不要な気もする。
なんで、transferTo が、Java10 で Reader に追加されたんだろう。