{
<BUG>PlaPointFloat prev_corner = p_line_arr[p_no].intersection_approx(p_line_arr[p_no - 1]);
</BUG>
if ( prev_corner.is_NaN()) return null;
<BUG>PlaPointFloat curr_corner = p_line_arr[p_no].intersection_approx(p_line_arr[p_no + 1]);
</BUG>
if ( curr_corner.is_NaN()) return null;
<BUG>PlaPointFloat next_corner = p_line_arr[p_no + 1].intersection_approx(p_line_arr[p_no + 2]);
</BUG>
if ( next_corner.is_NaN()) return null;

{
PlaLineInt prev_line = p_line_arr.get(p_no);
PlaLineInt next_line = p_line_arr.get(p_no + 1);
if (prev_line.is_equal_or_opposite(next_line))
{
