private int draw(Graphics2D g2, int width)
	{		
		int y = 0;
		
		FontMetrics fontMetrics = this.getFontMetrics(font);
		FontRenderContext fontContext = fontMetrics.getFontRenderContext();
		
		g2.setFont(font);
		
		for (CommsLogEntry entry : entries)
		{		
			List<String> lines = wrapText(fontContext, entry.getMessage(), width);
			int rectHeight = TOP_MARGIN + BOTTOM_MARGIN + lines.size()
							 * fontMetrics.getHeight();
			
			g2.setColor(entry.getColor().getJavaColor());
			g2.fillRect(0, y, this.getWidth(), rectHeight);
			
			g2.setColor(Color.white);
			g2.drawRect(0, y, this.getWidth(), rectHeight);
			
			g2.setColor(Color.black);
			
			y += TOP_MARGIN + fontMetrics.getAscent();
			
			for (int i = 0; i < lines.size(); ++i)
			{
				
				if(i > 0)
				{
					y += fontMetrics.getHeight();
				}
				
				g2.drawString(lines.get(i), LEFT_MARGIN, y);
			}
			
			y += fontMetrics.getDescent() + BOTTOM_MARGIN;
		}
		
		return y;
	}