@Override
        public void run() {
            while (true) {
                synchronized (statusLock) {
                    if (showStatus) {
                        out.print(STATUS_INDICATOR);
                        numStatusOuts++;
                        // time to show how far along the current pipe is??
                        if ((numStatusOuts % PER_SHOW) == 0 && activePipe != null) {
                            float curPercentDone = activePipe.percentDone();
                            if (curPercentDone != lastPerDone) {
                                out.print(formatDonePercent(curPercentDone));
                                lastPerDone = curPercentDone;
                            }
                        }
                    }
                }
                try {
                    Thread.sleep(WAIT_MS);
                }
                catch (InterruptedException e) {
                }
            }
        }