* @param drawUnexploredBorders If true; draws border between explored and
     *        unexplored terrain.
     * @param withNumber indicates if the number of inhabitants should be drawn too.
     */
    private void displayTileOverlays(Graphics2D g, Tile tile,
                                     boolean drawUnexploredBorders, boolean withNumber) {
        if (tile != null && tile.isExplored()) {
            if (drawUnexploredBorders) {
                for (Direction direction : Direction.values()) {
                    Tile borderingTile = tile.getAdjacentTile(direction);
                    if (borderingTile != null && !borderingTile.isExplored()){
                        g.drawImage(lib.getBorderImage(null, direction, tile.getX(), tile.getY()), 0, 0, null);
                    }
                }
            }
            displayTileItems(g, tile);
            displaySettlement(g, tile, withNumber);
            displayFogOfWar(g, tile);
            displayOptionalValues(g, tile);
        }
    }