### Question:
CoordinateClient { public static List<Integer> getBatchIndexes(final int numberOfThreads, final int size) { final List<Integer> batchIndexes = new ArrayList<>(); int batchSize = size / numberOfThreads; if ((size % numberOfThreads) > 0) { batchSize = batchSize + 1; } for (int i = 0; i < size; i += batchSize) { batchIndexes.add(i); } batchIndexes.add(size); return batchIndexes; } CoordinateClient(final String stack,
                            final Double z,
                            final RenderDataClient renderDataClient,
                            final int numberOfThreads); static void main(final String[] args); @Override String toString(); StackVersion getStackVersion(); List<List<TileCoordinates>> getWorldCoordinatesWithTileIds(final List<TileCoordinates> worldCoordinatesList); List<List<TileCoordinates>> worldToLocalInBatches(final List<TileCoordinates> loadedWorldCoordinates); List<List<TileCoordinates>> worldToLocal(final List<List<TileCoordinates>> worldListOfLists,
                                                    final ResolvedTileSpecCollection tiles); List<TileCoordinates> localToWorldInBatches(final List<List<TileCoordinates>> loadedLocalCoordinates); List<TileCoordinates> localToWorld(final List<List<TileCoordinates>> localListOfLists,
                                              final ResolvedTileSpecCollection tiles); static List<TileCoordinates> loadJsonArrayOfCoordinates(final String path); static List<List<TileCoordinates>> loadJsonArrayOfArraysOfCoordinates(final String path); static List<Integer> getBatchIndexes(final int numberOfThreads,
                                                final int size);  }### Answer:
@Test public void testGetBatchIndexes() throws Exception { validateBatchIndexes(3, 10, 4, 4, 2); validateBatchIndexes(3, 11, 4, 4, 3); validateBatchIndexes(3, 12, 4, 4, 4); validateBatchIndexes(3, 1, 2, 1, 1); validateBatchIndexes(3, 3, 4, 1, 1); validateBatchIndexes(1, 3, 2, 3, 3); }