swapping buffer arrays with ByteBuffer