question: copies data from the input stream to the output stream . terminates as soon as the input stream is closed or an error occurs . concode_field_sep MessageConsumer messageConsumer concode_elem_sep BufferedReader reader concode_elem_sep boolean finished concode_field_sep boolean isFinished concode_elem_sep void waitFor
target: void function ( ) { synchronized ( this ) { finished = false ; } try { String loc0 ; while ( ( loc0 = reader . readLine ( ) ) != null ) { messageConsumer . message ( loc0 + "srini_string" ) ; } } catch ( Exception loc0 ) { } finally { synchronized ( this ) { finished = true ; notifyAll ( ) ; } } }