@@ -0,0 +1,1159 @@
+package org.svetovid.util;%0D%0A%0D%0Apublic class Stopwatch %7B%0D%0A%0D%0A    private long startTime;%0D%0A    private long pauseTime;%0D%0A    private long pauseLength;%0D%0A    private int timesPaused;%0D%0A%0D%0A    public Stopwatch() %7B%0D%0A        this(true);%0D%0A    %7D%0D%0A%0D%0A    public Stopwatch(boolean autoStart) %7B%0D%0A        startTime = System.currentTimeMillis();%0D%0A        pauseTime = startTime;%0D%0A        pauseLength = 0;%0D%0A        timesPaused = 0;%0D%0A        if (!autoStart) %7B%0D%0A            timesPaused++;%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A    public void pause() %7B%0D%0A        if (timesPaused == 0) %7B%0D%0A            pauseTime = System.currentTimeMillis();%0D%0A        %7D%0D%0A        timesPaused++;%0D%0A    %7D%0D%0A%0D%0A    public void resume() %7B%0D%0A        if (timesPaused %3E 0) %7B%0D%0A            timesPaused--;%0D%0A            if (timesPaused == 0) %7B%0D%0A                pauseLength = pauseLength + (System.currentTimeMillis() - pauseTime);%0D%0A            %7D%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A    public boolean isPaused() %7B%0D%0A        return timesPaused %3E 0;%0D%0A    %7D%0D%0A%0D%0A    public double time() %7B%0D%0A        long now = isPaused() ? pauseTime : System.currentTimeMillis();%0D%0A        long time = now - startTime - pauseLength;%0D%0A        return time / 1000.0;%0D%0A    %7D%0D%0A%7D%0D%0A

Add time measurement support via the Stopwatch class