if ( curr_next_corner.is_NaN() ) return null;
<BUG>PlaLineInt curr_translate_line = p_line_arr[p_start_no + 3 + index];
</BUG>
double curr_translate_dist = curr_translate_line.distance_signed(curr_next_corner);
prev_translated_line = curr_translate_line.translate(-curr_translate_dist);
<BUG>curr_lines[p_start_no + 3 + index] = prev_translated_line;
</BUG>
}
Polyline tmp = new Polyline(curr_lines);
<BUG>if (tmp.plaline_len() == curr_lines.length)
</BUG>
{

if ( curr_next_corner.is_NaN() ) return null;
PlaLineInt curr_translate_line = p_line_arr.get(p_start_no + 3 + index);
double curr_translate_dist = curr_translate_line.distance_signed(curr_next_corner);
prev_translated_line = curr_translate_line.translate(-curr_translate_dist);
curr_lines.set(p_start_no + 3 + index, prev_translated_line);
}
Polyline tmp = new Polyline(curr_lines);
if (tmp.plaline_len() == curr_lines.size())
{
