private void doSingleDestinationWithMultipleMembersTest(boolean totalOrder, int members) throws Exception {
        final int maxMessages = 1024;
        for (int i = 0; i < members; ++i) {
            TOANode member = createNewChannel("toa_multiple_member_" + totalOrder + "_" + i);
            member.start("toa_multiple_member_cluster_" + totalOrder);
            member.setEstimatedMessages(maxMessages);
        }

        for (TOANode member : registeredToaNodes) {
            member.waitAllMembers(registeredToaNodes, 30, TimeUnit.SECONDS);
        }
        assertTrue("Expected more than one node. value=" + registeredToaNodes.size(), registeredToaNodes.size() > 1);
        final TOANode sender = registeredToaNodes.get(0);

        for (TOANode destination : registeredToaNodes) {
            for (int i = 0; i < maxMessages; ++i) {
                if (totalOrder) {
                    sender.sendTotalOrderAnycastMessage(new AnycastAddress(destination.localAddress()), Integer.toString(i));
                } else {
                    sender.sendAnycastMessage(new AnycastAddress(destination.localAddress()), Integer.toString(i));
                }
            }
        }

        for (TOANode destination : registeredToaNodes) {
            //wait until all is delivered
            destination.waitMessages(maxMessages, 30, TimeUnit.SECONDS);
            for (int i = 0; i < maxMessages; ++i)
                assertEquals("Wrong message in member " + destination.channel.getAddress(),
                             Integer.toString(i), destination.pop());
        }
    }