private Object mutex() {
    Object mutex = mutexDoNotUseDirectly;
    if (mutex == null) {
      synchronized (this) {
        mutex = mutexDoNotUseDirectly;
        if (mutex == null) {
          mutexDoNotUseDirectly = mutex = new Object();
        }
      }
    }
    return mutex;
  }
The underlying timer; used both to measure elapsed time and sleep as necessary. A separate
object to facilitate testing.
src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java