private void drawLightning(Graphics g)
	{
		if (lightnings.isEmpty())
		{
			return;
		}

		Graphics2D g2d = (Graphics2D) g;

		final Stroke bigStroke = new BasicStroke(6F);
		final Stroke smallStroke = new BasicStroke(3F);

		final Color mainColor = new Color(255, 243, 60);
		final Color shadeColor = new Color(255, 250, 168);

		for (Lightning lightning : lightnings)
		{
			if (lightning.isDone())
			{
				continue;
			}

			List<LightningSegment> segments = lightning.getSegments();

			for (LightningSegment lightningSegment : segments)
			{
				g2d.setStroke(smallStroke);

				final Coordinates start = lightningSegment.getStart();
				final Coordinates end = lightningSegment.getEnd();

				if (lightningSegment.isTrunk())
				{
					g2d.setStroke(bigStroke);
				}
				g2d.setColor(mainColor);
				g2d.drawLine(start.getX(), start.getY(), end.getX(), end.getY());
				g2d.setColor(shadeColor);
				g2d.drawLine(start.getX() + 2, start.getY(), end.getX() + 2, end.getY());
			}

			lightning.increaseFrameCount();
			if (lightning.getFrameCount() % 10 == 0)
			{
				lightning.nextGeneration();
			}
		}
	}