private static HashSet<Coords> buildMetroCity(int maxX, int maxY){
private static HashSet<Coords> buildMetroCity(int maxX, int maxY, IBoard board){
    private static HashSet<Coords> buildMetroCity(int maxX, int maxY){        HashSet<Coords> grid = new HashSet<Coords>();        int midX = maxX/2;        int midY = maxY/2;                grid.add(new Coords(midX,midY));         //have the city hub be the mid point with all the hexes around it cleared out        for ( int hex=0; hex < 6; hex++ )            grid.add(new Coords(Coords.xInDir(midX,midY,hex),Coords.yInDir(midX,midY,hex)));        //first east west road         for ( int x=0; x < maxX; x++)            grid.add(new Coords(x,midY/2));                //second east west road         for ( int x=0; x < maxX; x++)            grid.add(new Coords(x,midY+(midY/2)));                //First North South Road        for ( int y=0; y < maxY; y++)            grid.add(new Coords(midX/2,y));        //second North South Road        for ( int y=0; y < maxY; y++)            grid.add(new Coords(midX+(midX/2),y));        for ( int dir = 0; dir < 8; dir++){            Coords coords = new Coords(midX,midY);            int x = midX;            int y = midY;                        while (x >= 0 && x <= maxX && y >= 0 && y <= maxY ){                                coords = selectNextGrid(dir,coords);                grid.add(coords);                //System.err.println(coords);                                x = coords.x;                y = coords.y;            }                    }        return grid;    }