List<Location> children = graph.getChildren().inBlockOf(2).startingAt(0).under(validPath); assertThat(numberOfExecutions, is(1)); assertNextRequestReadBlockOfChildren(Location.create(validPath), 0, 2, child1, child2); assertNoMoreRequests(); assertThat(children, hasItems(child1, child2)); assertNextRequestReadBlockOfChildren(Location.create(validPath), 1, 2, child2, child3); assertNoMoreRequests(); assertThat(children, hasItems(child2, child3)); assertNextRequestReadBlockOfChildren(Location.create(validPath), 2, 2, child3); assertNoMoreRequests(); assertThat(children, hasItems(child3)); assertNextRequestReadBlockOfChildren(Location.create(validPath), 20, 2); assertNoMoreRequests(); assertThat(children.isEmpty(), is(true)); assertNextRequestReadBlockOfChildren(Location.create(validPath), 0, 20, child1, child2, child3); assertNoMoreRequests(); assertThat(children, hasItems(child1, child2, child3));