Within GeoTools, the coverage module exists below the main module (where Feature is defined) and therefore a GeoTools GridCoverage is not a feature.
This is in opposition to the ISO Coverage model (where Coverage extends Feature) provided by ISO 19123 specification.
GeoTools ‘Coverage’ objects emerged from an earlier specification published by the Open Geospatial Consortium (OGC) called “Grid Coverage Services Implementation” (OGC 01-004).
The design of the coverage modules follows closely the design of image handling in Java. Java provides three major subsystems in their Java media APIs which are used and extended in GeoTools.
When combined, these subsystems provide immense power to the GeoTools coverage module but this dependency does require that programmers who wish to use and extend the module must learn to use these other Java modules.
To get the most out of the gt-coverage module developers should be familiar with the underlying mathematical ideas. Knowledge of ideas such as an Affine Transforms (for rotating and scaling) is required to work effectively with the coverage module. Affines are explained any computer graphics textbooks, and on many web sites, if you need a refresher.