public static long getTileIndex(final int pZoom, final int pX, final int pY) {
        checkValues(pZoom, pX, pY);
        return (((long) pZoom) << (mMaxZoomLevel * 2))
                + (((long) pX) << mMaxZoomLevel)
                + (long) pY;
    }
@Test
    public void testIndex() {
        final int iterations = 1000;
        for (int i = 0; i < iterations; i++) {
            final int zoom = getRandomZoom();
            final int x = getRandomXY(zoom);
            final int y = getRandomXY(zoom);
            final long index = MapTileIndex.getTileIndex(zoom, x, y);
            checkIndex(index, zoom, x, y);
        }
    }