code: public static long getNanoTick() {
          synchronized(NANO_TICK) {
              long tick = NANO_TICK.get();
              if (tick > 0) {
                  return tick;
              }
              tick = computeTick();
              NANO_TICK.set(tick);
              return tick;
          }
      }
docs: The minimum increment that the System.nanotime() can do. The nanotime
  value returned by the system does not necessarily increment by 1, this
  value indicates the smallest observed increment of the timer.
  @return The number of nanoseconds in the smallest recorded clock tick.