question: wait for the task to finish or abort . concode_field_sep boolean digestReceived concode_elem_sep Throwable exception concode_elem_sep float progressValue concode_elem_sep Reporter reporter concode_elem_sep Map<Integer,Counters.Counter> registeredCounters concode_elem_sep String expectedDigest concode_elem_sep boolean done concode_elem_sep NullWritable nullValue concode_elem_sep OutputCollector<K,V> collector concode_elem_sep FloatWritable progressKey concode_elem_sep RecordReader<FloatWritable,NullWritable> recordReader concode_field_sep void output concode_elem_sep void waitForAuthentication concode_elem_sep boolean authenticate concode_elem_sep void incrementCounter concode_elem_sep void progress concode_elem_sep void partitionedOutput concode_elem_sep void registerCounter concode_elem_sep void failed concode_elem_sep void done concode_elem_sep float getProgress concode_elem_sep void status
target: boolean function ( ) { while ( ! done && exception == null ) { wait ( ) ; } if ( exception != null ) { throw exception ; } return done ; }