private void invertSelectedImages() {
		if (selectedImages.isEmpty())
			return;
		synchronized (selectedImages) {
			for (Icon icon : selectedImages) {
				if (icon instanceof ImageIcon) {
					ImageIcon imageIcon = (ImageIcon) icon;
					BufferedImage bi = new BufferedImage(imageIcon.getIconWidth(), imageIcon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
					Graphics bg = bi.getGraphics();
					bg.setColor(Color.white);
					bg.fillRect(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight());
					imageIcon.paintIcon(null, bg, 0, 0);
					imageIcon.setImage(ImageOp.INVERT.filter(bi, null));
				} else if (icon instanceof LineIcon) {
					((LineIcon) icon).invert();
				}
			}
		}
		repaint();
	}