private void processHeader(ByteBuffer b) {
		boolean isDone = HELPER.processForPacket(b, head);

		if(isDone) {
			//get header data....
			HELPER.doneFillingBuffer(head);
			int numNeededBytes = head.getInt();
			if(numNeededBytes <= 0 || numNeededBytes > maxSizeContents)
				throw new CorruptPacketException(id+"header='"+numNeededBytes+"' is not valid.  Must\n"
						+"be less than maxSizeContents11="
						+maxSizeContents+" and greater than 0", true, false);			
			body = ByteBuffer.allocate(numNeededBytes);
			body.limit(numNeededBytes);
			state = ProcessingState.PROCESSING_BODY;
			head.clear();

		}
	}