### Question:
UtilColor { public static int multiplyRgb(int rgb, double fr, double fg, double fb) { if (rgb == 0) { return rgb; } final int a = rgb >> Constant.BYTE_4 & 0xFF; final int r = (int) UtilMath.clamp((rgb >> Constant.BYTE_3 & 0xFF) * fr, 0, 255); final int g = (int) UtilMath.clamp((rgb >> Constant.BYTE_2 & 0xFF) * fg, 0, 255); final int b = (int) UtilMath.clamp((rgb >> Constant.BYTE_1 & 0xFF) * fb, 0, 255); return getRgbaValue(r, g, b, a); } private  UtilColor(); static int getRgbaValue(int r, int g, int b, int a); static int multiplyRgb(int rgb, double fr, double fg, double fb); static int inc(int value, int r, int g, int b); static double getDelta(ColorRgba a, ColorRgba b); static ColorRgba getWeightedColor(ImageBuffer surface, int sx, int sy, int width, int height); static boolean isOpaqueTransparentExclusive(ColorRgba colorA, ColorRgba colorB); static boolean isOpaqueTransparentExclusive(int colorA, int colorB);  }### Answer:
@Test void testFilterRgb() { assertEquals(ColorRgba.BLACK.getRgba(), UtilColor.multiplyRgb(ColorRgba.WHITE.getRgba(), 0.0, 0.0, 0.0)); assertEquals(ColorRgba.BLUE.getRgba(), UtilColor.multiplyRgb(ColorRgba.CYAN.getRgba(), 1.0, 0.0, 1.0)); assertEquals(ColorRgba.GREEN.getRgba(), UtilColor.multiplyRgb(ColorRgba.YELLOW.getRgba(), 0.0, 1.0, 1.0)); assertEquals(ColorRgba.RED.getRgba(), UtilColor.multiplyRgb(ColorRgba.PURPLE.getRgba(), 1.0, 1.0, 0.0)); assertTrue(UtilColor.multiplyRgb(0, -1, -1, -1) >= 0); assertTrue(UtilColor.multiplyRgb(65_535, 0xFF_FF_FF, 0xFF_FF_FF, 0xFF_FF_FF) >= 0); }