Line 36 in class ImageColorTransformer.java puts an upper bound of 1.0f to the hue value of a pixel, but hue is actually in the interval [0, 360) and represents the degree on a color circle. Limiting to 1.0f sets the hue to its corresponding color red.
float hue = Math.min(hueFactor * hsba[0], 1.0f);
Maybe a modulo operation instead of Math.min would be more applicable to represent a shift around the color circle:
float hue = (hueFactor * hsba[0]) % 360.0f;