public void paintList(Graphics g) {
		
		if(identity.isEmpty()) {return;} //Exit if no shapes have been added
		
		for(int i=0;i<identity.size();i++) {
				
				int    type      = bounds.get(i)[0];
				int    x1        = bounds.get(i)[1];
				int    y1        = bounds.get(i)[2];
				int    x2        = bounds.get(i)[3];
				int    y2        = bounds.get(i)[4];
				int    fill      = bounds.get(i)[5];
				
				Color  color     = colors.get(i)[0];
				Color  textcolor = colors.get(i)[1];
				
				String text      = texts.get(i);
				Font   font      = fonts.get(i);
				
				
				switch(type) {
				
				case 0: //Line
					g.setColor(color);
					g.drawLine(x1, y1, x2, y2);
					break;
					
				case 1: //Filled Rectangle
					
					//Rectangle
					g.setColor(color);
					if(fill == 0) {g.drawRect(x1, y1, x2, y2);}
					else          {g.fillRect(x1, y1, x2, y2);}
					
					//Text
					if(!text.equals("")) {
						Graphics2D g2 = (Graphics2D) g;
						g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
						FontRenderContext frc = g2.getFontRenderContext();
						LineMetrics       lm  = font.getLineMetrics(text, frc);
						
						float width   = (float) font.getStringBounds(text, frc).getWidth();
						float height  = (float) lm.getAscent() + lm.getDescent();
						float stringX = x1 + (x2-width)/2;
						float stringY = y1 + (y2+height)/2 - lm.getDescent();
						
						g2.setColor(textcolor);
						g2.setFont(font);
						g2.drawString(text, stringX-1, stringY);
					}
					
					break;
					
				default:
					System.out.println("CPaintList hit default");
					break;
				}
				
			}
		
		
	}