code: public JGTProcessingRegion reproject( CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS,
              boolean lenient ) throws Exception {
  
          MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, lenient);
          Envelope envelope = getEnvelope();
          Envelope targetEnvelope = JTS.transform(envelope, transform);
  
          return new JGTProcessingRegion(targetEnvelope.getMinX(), targetEnvelope.getMaxX(), targetEnvelope.getMinY(),
                  targetEnvelope.getMaxY(), getRows(), getCols());
  
      }
docs: Reprojects a {@link JGTProcessingRegion region}.
  
  @param sourceCRS
  the original {@link CoordinateReferenceSystem crs} of the
  region.
  @param targetCRS
  the target {@link CoordinateReferenceSystem crs} of the
  region.
  @param lenient
  defines whether to apply a lenient transformation or not.
  @return a new {@link JGTProcessingRegion region}.
  @throws Exception
  exception that may be thrown when applying the
  transformation.