question: private void checkRelease ( ) { List < PartitionReader > toRelease = new ArrayList < PartitionReader > ( ) ; for ( PartitionReader p : hold ) { if ( ! p . isTaken ( ) ) { toRelease . add ( p ) ; finish ( p ) ; } } hold . removeAll ( toRelease ) ; }
target:  check whether to release the hold partitions