for(int rr = rowRepeat; rr > 0; --rr) {
for(int srcRow = tRow; srcRow <= bRow; ++srcRow, ++dstRow) {
int dstCol= dstRef.getLeftCol();
for (int cr = colRepeat; cr > 0; --cr) {
for (int srcCol = lCol; srcCol <= rCol; ++srcCol, ++dstCol) {
final Cell cell = BookHelper.getCell(srcSheet, srcRow, srcCol);
if (cell != null) {
if (!skipBlanks || cell.getCellType() != Cell.CELL_TYPE_BLANK) {
final ChangeInfo changeInfo0 = BookHelper.copyCell(cell, dstSheet, dstRow, dstCol, pasteType, pasteOp, transpose);
BookHelper.assignChangeInfo(toEval, affected, mergeChanges, changeInfo0);
}
} else if (!skipBlanks) {
final Set<Ref>[] refs = BookHelper.removeCell(dstSheet, dstRow, dstCol);
BookHelper.assignRefs(toEval, affected, refs);
}
}
}
}
}
} else { //row -> column, column -> row
int dstCol = dstRef.getLeftCol();
for(int rr = rowRepeat; rr > 0; --rr) {
for(int srcRow = tRow; srcRow <= bRow; ++srcRow, ++dstCol) {
int dstRow = dstRef.getTopRow();
for (int cr = colRepeat; cr > 0; --cr) {
for (int srcCol = lCol; srcCol <= rCol; ++srcCol, ++dstRow) {
final Cell cell = BookHelper.getCell(srcSheet, srcRow, srcCol);
if (cell != null) {
if (!skipBlanks || cell.getCellType() != Cell.CELL_TYPE_BLANK) {
final ChangeInfo changeInfo0 = BookHelper.copyCell(cell, dstSheet, dstRow, dstCol, pasteType, pasteOp, transpose);
BookHelper.assignChangeInfo(toEval, affected, mergeChanges, changeInfo0);
}
} else if (!skipBlanks) {
final Set<Ref>[] refs = BookHelper.removeCell(dstSheet, dstRow, dstCol);