Hello everyone! Wanted to build a double gradient color map (really just a pair of simpleColorMap delegated) but I am stumped by the ColorMap interface. 1) If everything has to return a color no matter what, why not just have one getColor()? Why do we need a getRGB() + getAlpha() too? 2) Why do we need validLevel() and defaultValue()? can't they both be part of getColor()? 3) In what order are the methods called? does validLevel()+defaultValue() override getColor()? Should getColor() delegate to getRGB() or viceversa? Basically it seems to me that ColorMap should really just be a Function<Double,Color> What am I not understanding? -- Ernesto Carrella http://carrknight.github.io/