public void free ( ) { if ( ( m_mapChildHolders != null ) && ( m_mapChildHolders . size ( ) > 0 ) ) { Utility . getLogger ( ) . info ( "Not all sub-sessions freed by client - I will free them" ) ; synchronized ( this ) { Object [ ] keys = m_mapChildHolders . keySet ( ) . toArray ( ) ; // Since these are removed on free for ( Object strID : keys ) { BaseHolder baseHolder = ( BaseHolder ) m_mapChildHolders . get ( strID ) ; baseHolder . free ( ) ; // Should be removed from collection. } m_mapChildHolders . clear ( ) ; } } m_mapChildHolders = null ; if ( m_parentHolder != null ) m_parentHolder . remove ( this ) ; m_parentHolder = null ; m_remoteObject = null ; }
Free the resources for this holder .