public long end() {
        if (started == 0) {
            throw new Error("trying to end but never started.");
        }
        final long duration = System.currentTimeMillis() - started;
        started = 0;
        return duration;
    }