question: public void run ( ) { final FetcherInfo info = FetcherInfo . getFetcherInfo ( ) ; try { fetchloop ( ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; } finally { synchronized ( info . waitList ) { Thread me = Thread . currentThread ( ) ; for ( int i = 0 ; i < info . fetchers . length ; i ++ ) { if ( info . fetchers [ i ] == me ) { info . fetchers [ i ] = null ; info . numFetchers -- ; } } } } }
target:  The main run() method of an ImageFetcher Thread.  Calls fetchloop() to do the work, then removes itself from the array of ImageFetchers.