public synchronized long time(){
  if (startNanoTime == 0) {
    return 0;
  }
  if (time >= 0) {
    return time;
  }
  return Math.max(0,TimeValue.nsecToMSec(System.nanoTime() - startNanoTime));
}

public synchronized long time ( ) { if ( startNanoTime == 0 ) { return 0 ; } if ( time >= 0 ) { return time ; } return Math . max ( 0 , TimeValue . nsecToMSec ( System . nanoTime ( ) - startNanoTime ) ) ; }
returns elapsed time in millis , or 0 if timer was not started
