private void clearState() {
		//reset all state first....
		state = ProcessingState.PROCESSING_HEADER;
		head.setNumNeededBytes(HEADER_SIZE);
		body.setNumNeededBytes(-1);
		tail.setNumNeededBytes(packetSeparator.length);
		head.setIndex(0);
		body.setIndex(0);
		tail.setIndex(0);
		head.setHaveData(false);
		body.setHaveData(false);
		tail.setHaveData(false);
		HELPER.eraseBuffer(head.getCache());
		HELPER.eraseBuffer(body.getCache());
		HELPER.eraseBuffer(tail.getCache());
	}