Object[] visited = ack.getBrokersVisited();
boolean writeVisited = visited != null && visited.length > 0;
BitArray ba = ack.getBitArray();
ba.reset();
ba.set(AbstractPacket.RECEIPT_REQUIRED_INDEX, ack.isReceiptRequired());
ba.set(AbstractPacket.BROKERS_VISITED_INDEX,writeVisited);
ba.set(MessageAck.MESSAGE_READ_INDEX, ack.isMessageRead());
ba.set(MessageAck.TRANSACTION_ID_INDEX, ack.isPartOfTransaction());
ba.set(MessageAck.XA_TRANS_INDEX, ack.isXaTransacted());