try {
while (iterator.hasNext()) {
final SimpleFeature feature = iterator.next();
// Prepare subRequest setting up dimensions matching the values of the current granule
final GridCoverageRequest subRequest = new GridCoverageRequest();
// Setting up constant elements (outputCRS, spatial subset, interpolation
subRequest.setOutputCRS(gridCoverageRequest.getOutputCRS());
subRequest.setSpatialInterpolation(gridCoverageRequest.getSpatialInterpolation());
subRequest.setSpatialSubset(gridCoverageRequest.getSpatialSubset());
subRequest.setTemporalInterpolation(gridCoverageRequest.getTemporalInterpolation());
//Setting up specific dimensions subset
updateDimensions(subRequest, feature, structuredReader, coverageName);
requests.add(subRequest);
}