@Override
        public synchronized void draw(Graphics g) {
                if (pointMap == null)
                        return;
                for (int y = 0; y < total_rows; y++) {
                        for (int x = last_x; x >= 0; x--) {
                                Point p = new Point(x, y);
                                IsometricPoint ip = pointMap.get(p);
                                if (ip != null) {
                                        if (mousePoint != null && ip.contains(mousePoint)) {
                                                ip.setHighlight(true);
                                        } else if (mousePoint != null) {
                                                ip.setHighlight(false);
                                        }
                                        ip.draw(g);
                                }
                        }
                }
        }