question: public final boolean insert_via ( BrdViaInfo p_via_info , PlaPointInt p_location , NetNosList p_net_no_arr , int p_trace_clearance_class_no , int [ ] p_trace_pen_halfwidth_arr , int p_max_recursion_depth , int p_max_via_recursion_depth , int p_pull_tight_accuracy , int p_pull_tight_time_limit ) { shove_fail_clear ( ) ; changed_area_clear ( ) ; boolean r_ok = shove_via_algo . shove_via_insert ( p_via_info , p_location , p_net_no_arr , p_trace_clearance_class_no , p_trace_pen_halfwidth_arr , p_max_recursion_depth , p_max_via_recursion_depth ) ; if ( ! r_ok ) return false ; NetNosList opt_net_no_arr = p_max_recursion_depth <= 0 ? p_net_no_arr : NetNosList . EMPTY ; TimeLimitStoppable t_limit = new TimeLimitStoppable ( s_PREVENT_ENDLESS_LOOP ) ; changed_area_optimize ( opt_net_no_arr , p_pull_tight_accuracy , null , t_limit , null ) ; return true ; }
target:  Shoves aside traces, so that a via with the input parameters can be inserted without clearance violations. If the shove failed, the database may be damaged, so that an undo becomes necessesary.