public void release ( ) { synchronized ( LoginManager . class ) { if ( refCount == 0 ) throw new IllegalStateException ( "release called on LoginManager with refCount == 0" ) ; else if ( refCount == 1 ) { CACHED_INSTANCES . remove ( loginType ) ; login . shutdown ( ) ; } -- refCount ; } }
Decrease the reference count for this instance and release resources if it reaches 0 .