Process p = Runtime.getRuntime().exec( createCommandLine( config ) );
BufferedInputStream compilerErr = new BufferedInputStream( p.getErrorStream() );
ByteArrayOutputStream tmpErr = new ByteArrayOutputStream( OUTPUT_BUFFER_SIZE );
StreamPumper errPumper = new StreamPumper( compilerErr, tmpErr );
errPumper.start();
p.waitFor();
int exitValue = p.exitValue();
// Wait until the complete error stream has been read
errPumper.join();
compilerErr.close();
p.destroy();