public void paint(Graphics g) {
      for (Element<?> e : _lightElements) {
        if (((Light)e.x).getColor() == LightColor.GREEN) {
          g.setColor(Color.GREEN);
        }
        else if (((Light)e.x).getColor() == LightColor.YELLOW) {
          g.setColor(Color.YELLOW);
        }
        else {
          g.setColor(Color.RED);
        }

        XGraphics.fillOval(g, e.t, 0.0D, 0.0D, MP.carLength, VP.elementWidth);
      }
      g.setColor(Color.BLACK);
      for (Element<?> e : _roadElements) {
        XGraphics.fillRect(g, e.t, 0.0D, 0.0D, MP.roadDrawLength, VP.elementWidth);
      }

      for (Element<?> e : _roadElements) {
        for (Car d : (Car[])((Road)e.x).getCars().toArray(new Car[0])) {
          g.setColor(d.getColor());
          XGraphics.fillOval(g, e.t, d.getPosition() / (d.getOberver().getLength() / MP.roadDrawLength), 0.0D, d.getCarLength() / (d.getOberver().getLength() / MP.roadDrawLength), VP.elementWidth);
        }
      }
    }