while (time.isBefore(endTime)) {
for (int i = -1; i > -numSchedules; --i) {
List<ResultSetFuture> futures = new ArrayList<ResultSetFuture>(3);
permits.acquire(3);
futures.add(session.executeAsync(insert.bind(i, time.toDate(), 0, 3.14)));
futures.add(session.executeAsync(insert.bind(i, time.toDate(), 1, 3.14)));
futures.add(session.executeAsync(insert.bind(i, time.toDate(), 2, 3.14)));
ListenableFuture<List<ResultSet>> insertsFuture = Futures.allAsList(futures);
Futures.addCallback(insertsFuture, new FutureCallback<List<ResultSet>>() {
@Override
public void onSuccess(List<ResultSet> result) {