PeekableStream replaced by PeekableReader (more simple, less bugs!).