@Override
    public boolean contains(long pTileIndex) {
        if (MapTileIndex.getZoom(pTileIndex) != mZoom) {
            return false;
        }
        if (!contains(MapTileIndex.getX(pTileIndex), mLeft, mWidth)) {
            return false;
        }
        return contains(MapTileIndex.getY(pTileIndex), mTop, mHeight);
    }
@Test
    public void testCorners() {
        final MapTileArea area = new MapTileArea();
        for (int zoom = 0; zoom <= TileSystem.getMaximumZoomLevel(); zoom++) {
            final int mapTileUpperBound = getMapTileUpperBound(zoom);
            final int max = mapTileUpperBound - 1;
            setNewWorld(area, zoom);
            Assert.assertTrue(area.contains(MapTileIndex.getTileIndex(zoom, 0, 0)));
            Assert.assertTrue(area.contains(MapTileIndex.getTileIndex(zoom, 0, max)));
            Assert.assertTrue(area.contains(MapTileIndex.getTileIndex(zoom, max, max)));
            Assert.assertTrue(area.contains(MapTileIndex.getTileIndex(zoom, max, 0)));
        }
    }