currentTime == System.currentTimeMillis and should not be used to measure elapsed time as it isn't accurate.
Use nanoTime