question: public final boolean check_trace ( Polyline p_polyline , int p_half_width , int p_layer , NetNosList p_net_no_arr , int p_clearance_class_no , int p_max_recursion_depth , int p_max_via_recursion_depth , int p_max_spring_over_recursion_depth ) { AwtreeShapeSearch search_tree = search_tree_manager . get_default_tree ( ) ; int compensated_half_width = p_half_width + search_tree . get_clearance_compensation ( p_clearance_class_no , p_layer ) ; ArrayList < ShapeTile > trace_shapes = p_polyline . offset_shapes ( compensated_half_width , 0 , p_polyline . corner_count ( ) ) ; for ( int index = 0 ; index < trace_shapes . size ( ) ; ++ index ) { ShapeTile curr_trace_shape = trace_shapes . get ( index ) ; BrdFromSide from_side = new BrdFromSide ( p_polyline , index + 1 , curr_trace_shape ) ; boolean check_shove_ok = shove_trace_algo . shove_trace_check ( curr_trace_shape , from_side , null , p_layer , p_net_no_arr , p_clearance_class_no , p_max_recursion_depth , p_max_via_recursion_depth , p_max_spring_over_recursion_depth , null ) ; if ( ! check_shove_ok ) return false ; } return true ; }
target:  Checks, if a trace polyline with the input parameters can be inserted while shoving aside obstacle traces and vias.