question: protected final boolean has_cycle_recu ( Set < BrdItem > p_visited_items , BrdItem p_search_item , BrdItem p_come_from_item , boolean p_ignore_areas ) { if ( p_ignore_areas && ( this instanceof BrdAreaConduction ) ) return false ; Collection < BrdItem > contact_list = get_normal_contacts ( ) ; if ( contact_list == null ) return false ; for ( BrdItem curr_contact : contact_list ) { if ( curr_contact == p_come_from_item ) continue ; if ( curr_contact == p_search_item ) return true ; if ( ! p_visited_items . add ( curr_contact ) ) continue ; if ( curr_contact . has_cycle_recu ( p_visited_items , p_search_item , this , p_ignore_areas ) ) return true ; } return false ; }
target:  Recursive part of Trace.is_cycle.  If p_ignore_areas is true, cycles where conduction areas are involved are ignored.