if ( curr_prev_corner.is_NaN() ) return null;
<BUG>PlaLineInt curr_translate_line = p_line_arr[p_start_no + 1 - index];
</BUG>
double curr_translate_dist = curr_translate_line.distance_signed(curr_prev_corner);
prev_translated_line = curr_translate_line.translate(-curr_translate_dist);
<BUG>curr_lines[p_start_no + 1 - index] = prev_translated_line;
</BUG>
}
prev_translated_line = new_line;
for (int index = 0; index < corners_skipped_after; ++index)

if ( curr_prev_corner.is_NaN() ) return null;
PlaLineInt curr_translate_line = p_line_arr.get(p_start_no + 1 - index);
double curr_translate_dist = curr_translate_line.distance_signed(curr_prev_corner);
prev_translated_line = curr_translate_line.translate(-curr_translate_dist);
curr_lines.set(p_start_no + 1 - index, prev_translated_line);
}
prev_translated_line = new_line;
for (int index = 0; index < corners_skipped_after; ++index)
