* method was called in an incorrect state (reading header state).
*/
public ByteBuffer readBody( int contentLength ) throws IOException, TimeOutException, ProtocolException {
if( state == STATE_READING_HEADER )
throw new ProtocolException("You're trying to read a message body, but should read a header!");
if( this.body == null ){
//
// this is the first try, so we start by allocating