Yes you got it 
I would change:
In Particle.class
/** The color of the particle. */
private final Color color = new Color();
and in the constructor:
color.set(COLOR);
in RainbowSnow.class
private final Color snowColor = new Color();
/**
* Updates the snow.
*/
public void update() {
snowColor.set(red/255f, green/255f, blue/255f, 1.0f);
if(counter == 10) {
for(int i=0;i<RANDOM.nextInt(1800) + 120;i++) {
newParticle(snowColor, RANDOM.nextInt(8), 40);
}
counter = 0;
} else {
counter++;
}
...
Are you always writing so many comments in your code? That’s nice 