The legacy support MUST be minimal (next nextPut: nextPutAll: peek upTo: ...), otherwise we will import all the cruft in Xtream and would go back to our starting point...
Once the minimal support written (a few hours should be enough), we should gradually switch each every legacy Stream usage -> Xtream.
An area which require more work is those Streams that have mixed conventions (one portion is interpreted as text, another as binary).
In theory that's easy, we just have two streams and they both wrap on a low level binary stream, but that means we have to be very cautious with buffers and caches.
Another area of work is usage of ugly selectors like name (we try to access the file name from the Stream API, arghh). Those usages are bad and require a rewrite.