honestly, doesnt seem to be a good idea to do it that way. think it might be better to go something like this:
private long lastUpdate = System.currentTimeMillis();
.
.
.
if(System.currentTimeMillis() - lastUpdate <= MethodProvider.random(2000, 3000)) {
//some random time period (this would complete the action every 2-3 seconds)
completeAnAction();
lastUpdate = System.currentTimeMillis();
}
it looked like this was what you were trying to get at, at least