abstract void copyInterruptedSegment(Matrices.Region destRegion, long destMin, long destMax);
final void copySegment(Matrices.Region destRegion) {
final IRange destRange = destRegion.coordRange(0);
if (destRegion.isRectangular()) {
copyUninterruptedSegment(destRange.min(), destRange.max());
} else {
// rare situation: only non-standard implementations of Matrices.Region
copyInterruptedSegment(destRegion, destRange.min(), destRange.max());
}
updateProgressForSegment(destRange);