question: private boolean processRemovedNode ( final INaviViewNode node ) { if ( node instanceof INaviCodeNode ) { final INaviCodeNode cnode = ( INaviCodeNode ) node ; try { final INaviFunction targetFunction = cnode . getParentFunction ( ) ; if ( m_nodeCounter . containsKey ( targetFunction ) ) { final int newCounter = m_nodeCounter . get ( targetFunction ) - 1 ; if ( newCounter == 0 ) { m_nodeCounter . remove ( targetFunction ) ; final Set < CCrossReference > toDelete = new HashSet < CCrossReference > ( ) ; for ( final CCrossReference reference : m_crossReferences ) { if ( reference . getCalledFunction ( ) == targetFunction ) { toDelete . add ( reference ) ; } } m_crossReferences . removeAll ( toDelete ) ; return true ; } else { m_nodeCounter . put ( targetFunction , newCounter ) ; } } } catch ( final MaybeNullException exception ) { } } return false ; }
target:  Processes a removed node and updates the references list accordingly.