if (!heights.isEmpty()) {
y2 = y1 - (float) heights.get(0);
}
int j;
for (j = 1; j < heights.size(); j++) {
<BUG>Border prevBorder = borders.get(rowRange.getStartRow() - (int) Math.max(startRow, 0) + j - 1);

Border curBorder = borders.get(rowRange.getStartRow() - (int) Math.max(startRow, 0) + j);
</BUG>
if (prevBorder != null) {

if (!heights.isEmpty()) {
y2 = y1 - (float) heights.get(0);
}
int j;
for (j = 1; j < heights.size(); j++) {
Border prevBorder = borders.get(rowRange.getStartRow() - largeTableIndexOffset + j - 1);
Border curBorder = borders.get(rowRange.getStartRow() - largeTableIndexOffset + j);
if (prevBorder != null) {
