code: public <V> Context withValue(Key<V> k1, V v1) {
      PersistentHashArrayMappedTrie<Key<?>, Object> newKeyValueEntries = keyValueEntries.put(k1, v1);
      return new Context(this, newKeyValueEntries);
    }
docs: Create a new context with the given key value set. The new context will cascade cancellation
  from its parent.
  
  <pre>
  Context withCredential = Context.current().withValue(CRED_KEY, cred);
  withCredential.run(new Runnable() {
  public void run() {
  readUserRecords(userId, CRED_KEY.get());
  }
  });
  </pre>