docs: @SuppressWarnings("unchecked")
      public T get() {
          if (HystrixRequestContext.getContextForCurrentThread() == null) {
              throw new IllegalStateException(HystrixRequestContext.class.getSimpleName() + ".initializeContext() must be called at the beginning of each request before RequestVariable functionality can be used.");
          }
          ConcurrentHashMap<HystrixRequestVariableDefault<?>, LazyInitializer<?>> variableMap = HystrixRequestContext.getContextForCurrentThread().state;
  
          // short-circuit the synchronized path below if we already have the value in the ConcurrentHashMap
          LazyInitializer<?> v = variableMap.get(this);
          if (v != null) {
              return (T) v.get();
          }
  
          /*
           * Optimistically create a LazyInitializer to put into the ConcurrentHashMap.
           * 
           * The LazyInitializer will not invoke initialValue() unless the get() method is invoked
           * so we can optimistically instantiate LazyInitializer and then discard for garbage collection
           * if the putIfAbsent fails.
           * 
           * Whichever instance of LazyInitializer succeeds will then have get() invoked which will call
           * the initialValue() method once-and-only-once.
           */
          LazyInitializer<T> l = new LazyInitializer<T>(this);
          LazyInitializer<?> existing = variableMap.putIfAbsent(this, l);
          if (existing == null) {
              /*
               * We won the thread-race so can use 'l' that we just created.
               */
              return l.get();
          } else {
              /*
               * We lost the thread-race so let 'l' be garbage collected and instead return 'existing'
               */
              return (T) existing.get();
          }
      }