code: public static synchronized boolean registerIfAbsent(final Callable<Tracer> provider) {
          requireNonNull(provider, "Cannot register GlobalTracer from provider <null>.");
          if (!isRegistered()) {
              try {
                  final Tracer suppliedTracer = requireNonNull(provider.call(), "Cannot register GlobalTracer <null>.");
                  if (!(suppliedTracer instanceof GlobalTracer)) {
                      GlobalTracer.tracer = suppliedTracer;
                      isRegistered = true;
                      return true;
                  }
              } catch (RuntimeException rte) {
                  throw rte; // Re-throw as-is
              } catch (Exception ex) {
                  throw new IllegalStateException("Exception obtaining tracer from provider: " + ex.getMessage(), ex);
              }
          }
          return false;
      }
docs: Register a {@link Tracer} to back the behaviour of the {@link #get()}.
  <p>
  The tracer is provided through a {@linkplain Callable} that will only be called if the global tracer is absent.
  Registration is a one-time operation. Once a tracer has been registered, all attempts at re-registering
  will return {@code false}.
  <p>
  Every application intending to use the global tracer is responsible for registering it once
  during its initialization.
  
  @param provider Provider for the tracer to use as global tracer.
  @return {@code true} if the provided tracer was registered as a result of this call,
  {@code false} otherwise.
  @throws NullPointerException  if the tracer provider is {@code null} or provides a {@code null} Tracer.
  @throws RuntimeException      any exception thrown by the provider gets rethrown,
  checked exceptions will be wrapped into appropriate runtime exceptions.