BufferingConnection now buffers the read result to avoid complications with multiple calls to read(). The read() call should be idempotent between probing. Since we must perform population once, a buffering specific prober implementation has to be used.