public double getCurrentActivityFracComplete() {
        switch (this.currentStatus) {
            case NOT_STARTED:
                return 0.0;
            case RUNNING:
            case PAUSED:
            case CANCELLING:
                return this.taskMonitor.getCurrentActivityFractionComplete();
            case CANCELLED:
            case COMPLETED:
            case FAILED:
                return 1.0;
        }
        return 0.0;
    }