private void reduce_trace_shapes_at_tie_pins(Collection<BrdItem> p_item_list,int p_own_net_no,AwtreeShapeSearch p_autoroute_tree){
  for (  BrdItem curr_item : p_item_list) {
    if (!(curr_item instanceof BrdAbitPin))     continue;
    BrdAbitPin curr_tie_pin=(BrdAbitPin)curr_item;
    if (curr_tie_pin.net_count() <= 1)     continue;
    Collection<BrdItem> pin_contacts=curr_item.get_normal_contacts();
    for (    BrdItem curr_contact : pin_contacts) {
      if (!(curr_contact instanceof BrdTracep))       continue;
      if (curr_contact.contains_net(p_own_net_no))       continue;
      p_autoroute_tree.reduce_trace_shape_at_tie_pin(curr_tie_pin,(BrdTracep)curr_contact);
    }
  }
}

private void reduce_trace_shapes_at_tie_pins ( Collection < BrdItem > p_item_list , int p_own_net_no , AwtreeShapeSearch p_autoroute_tree ) { for ( BrdItem curr_item : p_item_list ) { if ( ! ( curr_item instanceof BrdAbitPin ) ) continue ; BrdAbitPin curr_tie_pin = ( BrdAbitPin ) curr_item ; if ( curr_tie_pin . net_count ( ) <= 1 ) continue ; Collection < BrdItem > pin_contacts = curr_item . get_normal_contacts ( ) ; for ( BrdItem curr_contact : pin_contacts ) { if ( ! ( curr_contact instanceof BrdTracep ) ) continue ; if ( curr_contact . contains_net ( p_own_net_no ) ) continue ; p_autoroute_tree . reduce_trace_shape_at_tie_pin ( curr_tie_pin , ( BrdTracep ) curr_contact ) ; } } }
looks for pins with more than 1 nets and reduces shapes of traces of foreign nets , which are already connected to such a pin , so that the pin center is not blocked for connection .
