org.geotools.coverage.ColorModelFactory takes four parameters (categories, type, visibleBand, numBands) but its equals() and hashCode() methods only checks three of the parameters (categories, visibleBand, numBands). If ColorModelFactory.getColorModel is called multiple times with identical parameters except for the type, then an incorrect ColorModel can be returned. This could result in an IllegalArgumentException being thrown in multiple GridCoverageFactory.create methods such as org.geotools.coverage.grid.GridCoverageFactory.create(CharSequence, WritableRaster, Envelope, GridSampleDimension[]). The ColorModelFactory equals() and hashCode() methods should be updated to check the type. |