ラップされているか教えて欲しい。
「念のためBufferedOutputStreamでバッファリングしておこう」とか「Collections.unomidifiableListで変更不可にしておこう」とか。気づくと何重にもラップされていたり。
前者は、自分でも回避できる。受けとったストリームがinstanceof BufferedOutputStreamだったら、やらなければいいわけだ。でもバッファサイズが違ったりするかもしれないし。バッファサイズが自分の想定より大きければバッファリングしないとかできればいいんだけど。サイズが外から分かればね。
後者は、ちょっと無理だ(型名を見れば分からないでもないけど、そこまでやる気にはならない)。UnmodifiableCollectionはパッケージプライベートだから手が出せない。Collections.unmodifiableXXX()の中で同様の処理をしてくれればいいんだけど。





