latch = new CountDownLatch(numberOfClients);
repeatsPerClient = repeat / numberOfClients;
clients = new ArrayList<Actor>();
for (int i = 0; i < numberOfClients; i++) {
final Actor destination = destinationType.getConstructor(new Class<?>[]{DefaultPGroup.class}).newInstance(group).start();
final Actor w4 = waypointType.getConstructor(new Class<?>[]{Actor.class, DefaultPGroup.class}).newInstance(destination, group).start();
final Actor w3 = waypointType.getConstructor(new Class<?>[]{Actor.class, DefaultPGroup.class}).newInstance(w4, group).start();
final Actor w2 = waypointType.getConstructor(new Class<?>[]{Actor.class, DefaultPGroup.class}).newInstance(w3, group).start();
final Actor w1 = waypointType.getConstructor(new Class<?>[]{Actor.class, DefaultPGroup.class}).newInstance(w2, group).start();
clients.add(clientType.getConstructor(new Class<?>[]{Actor.class, CountDownLatch.class, long.class, DefaultPGroup.class, BenchmarkCaliper.class}).newInstance(w1, latch, repeatsPerClient, group, this));
}
}