private void ColorImage(Color IconColor) {
//			_coloredIcon = new BufferedImage(_icon.getWidth(), _icon.getHeight(), _icon.getType());
			for(int y = 0; y < _icon.getHeight(); y++) {
				for(int x = 0; x < _icon.getWidth(); x++) {
					Color pixel = new Color(_icon.getRGB(x, y), true);
					
					if(pixel.getAlpha() > 0) {
						float[] color1components = pixel.getRGBComponents(null);
						float[] color2components = IconColor.getRGBColorComponents(null);
						float[] newColorComponents = new float[3];
						for(int component = 0; component < 3; component++) {
							newColorComponents[component] = color1components[component] * color2components[component];
						}
						Color newColor;
						newColor = new Color(newColorComponents[0], newColorComponents[1], newColorComponents[2], color1components[3]);

						_icon.setRGB(x, y, newColor.getRGB());
					} 
				}
			}
			_colored = true;
		}