Scalaのライブラリにバグ?

scala.io.BufferedSourceなのだが、入力ストリームの1文字が2バイト以上の時にうまくうごかないかも。
というのもdecodeした後のバッファと変換前のバッファを同じサイズで確保しているので、

  val byteBuffer = ByteBuffer.allocate(buf_size)
  var charBuffer = CharBuffer.allocate(buf_size)

decoder.decode(byteBuffer,rBuffer,se)
したときにbyteBufferに変換先に入りきらないデータが残ることになるのだが、
byteChannel.read(byteBuffer)
が-1を返したときにその辺の考慮が抜けててbyteBufferの中身が捨てられそう。
おかげでliftで日本語使ったときにパースエラーになるときがある。(場合によっては予期しない終端を考慮しない箇所とかあってOutOfMemoryError。ちょっとscala/liftのXMLパーザ周りも見てみたけど、作りが粗い気がする。)
結構致命的だと思うのだけどみんなどうしてるのだろう。そもそも英語圏以外でliftってあんまり使われてないのかな?
報告したほうが良いのだろうけど調べるので力尽きた。
(あとまだちゃんと確証取ったわけじゃない)