public boolean destroyDependentInstance ( T instance ) { synchronized ( dependentInstances ) { for ( Iterator < ContextualInstance < ? > > iterator = dependentInstances . iterator ( ) ; iterator . hasNext ( ) ; ) { ContextualInstance < ? > contextualInstance = iterator . next ( ) ; if ( contextualInstance . getInstance ( ) == instance ) { iterator . remove ( ) ; destroy ( contextualInstance ) ; return true ; } } } return false ; }
Destroys dependent instance