try { Thread.sleep(SLEEP); } catch (InterruptedException e) {}
    public void run() {        synchronized (this) {            // Just in case this object is reused in the future            finished = false;        }        final byte[] buf = new byte[SIZE];        int length;        try {            String st;            while((st=br.readLine())!=null) {                if (coaleasceLines) {                    sb.append(st);                } else {                    sb.append(st+NEWLINE);                                    }                try {                    Thread.sleep(SLEEP);                } catch (InterruptedException e) {}                            }        } catch (Exception e) {            // ignore        } finally {            synchronized (this) {                finished = true;                notify();            }        }    }