AbstractGridCoverage2DReader reader = (AbstractGridCoverage2DReader) cinfo.getGridCoverageReader(null, GeoTools.getDefaultHints());
// get bounds
final ReferencedEnvelope bounds = new ReferencedEnvelope(reader.getOriginalEnvelope());
// apply the bounds, taking into account the reprojection policy if need be
final ProjectionPolicy projectionPolicy=resourceInfo.getProjectionPolicy();
if (projectionPolicy != ProjectionPolicy.NONE && bounds != null) {
// we need to fix the registered grid for this coverage
final GridGeometry grid = cinfo.getGrid();
cinfo.setGrid(new GridGeometry2D(grid.getGridRange(),grid.getGridToCRS(), resourceInfo.getCRS()));
}