code: public static synchronized boolean registerIfAbsent(final Tracer tracer) {
          requireNonNull(tracer, "Cannot register GlobalTracer. Tracer is null");
          return registerIfAbsent(new Callable<Tracer>() {
              @Override
              public Tracer call() {
                  return tracer;
              }
          });
      }
docs: Register a {@link Tracer} to back the behaviour of the {@link #get()}.
  <p>
  Registration is a one-time operation. Once a tracer has been registered, all attempts at re-registering
  will return {@code false}. Use {@link #registerIfAbsent(Callable)} for lazy initiation to avoid multiple
  instantiations of tracer.
  <p>
  Every application intending to use the global tracer is responsible for registering it once
  during its initialization.
  
  @param tracer tracer to be registered.
  @return {@code true} if the provided tracer was registered as a result of this call,
  {@code false} otherwise.
  @throws NullPointerException  if the tracer {@code null}.
  @throws RuntimeException      any exception thrown by the provider gets rethrown,
  checked exceptions will be wrapped into appropriate runtime exceptions.
  
  @see #registerIfAbsent(Callable)