ByteBufferList: keep a calculated remaining value cached so as to prevent unnecessary relculations and list iteration all over the place...