question: void release ( Object owner , Field field ) { Map < String , Integer > fields = owners . get ( owner ) ; if ( fields != null ) { release ( ) ; Integer count = fields . get ( field . toGenericString ( ) ) ; if ( -- count > 0 ) { fields . put ( field . toGenericString ( ) , count ) ; } else { fields . remove ( field . toGenericString ( ) ) ; } } if ( fields != null && fields . isEmpty ( ) ) { owners . remove ( owner ) ; } }
target:  Release an instance injected as a field of an object