code: public static CloseableThreadContext.Instance put(final String key, final String value) {
          return new CloseableThreadContext.Instance().put(key, value);
      }
docs: Populates the Thread Context Map with the supplied key/value pair. Any existing key in the
  {@link ThreadContext} will be replaced with the supplied value, and restored back to their original value when
  the instance is closed.
  
  @param key   The  key to be added
  @param value The value to be added
  @return a new instance that will back out the changes when closed.