public static long start(@NonNull String key){
  long now=System.currentTimeMillis();
  Map<String,Long> currentMap=map.get();
  Optional<Long> maybePreviousInstant=Optional.with(currentMap.get(key));
  if (maybePreviousInstant.isDefined()) {
    Log.warn(Timer.class,"There was already a timer started for key '%s'. It will be overridden!",key);
  }
  currentMap.put(key,now);
  map.getAndSet(currentMap);
  return now;
}

public static long start ( @ NonNull String key ) { long now = System . currentTimeMillis ( ) ; Map < String , Long > currentMap = map . get ( ) ; Optional < Long > maybePreviousInstant = Optional . with ( currentMap . get ( key ) ) ; if ( maybePreviousInstant . isDefined ( ) ) { Log . warn ( Timer . class , "There was already a timer started for key '%s'. It will be overridden!" , key ) ; } currentMap . put ( key , now ) ; map . getAndSet ( currentMap ) ; return now ; }
starts a timer for specified key , overrides any previous timers with the same key
