final public function newContext(Context $ctx = null): Context
    {
        if ($ctx === null) {
            $ctx = Context::current();
        }
        return $ctx->withValue(self::CTX_KEY, $this);
    }
final public function newContext(Context $ctx = null): Context
    {
        if ($ctx === null) {
            $ctx = Context::current();
        }
        return $ctx->withValue(self::CTX_KEY, $this);
    }
final public function newContext ( Context $ ctx = null ) : Context { if ( $ ctx === null ) { $ ctx = Context :: current ( ) ; } return $ ctx -> withValue ( self :: CTX_KEY , $ this ) ; }
Creates a new Context with our TagContext attached.
To propagate a TagContext to downstream methods and downstream RPCs, add a
TagContext to the current Context. If there is already a TagContext in
the current context, it will be replaced with this TagContext.

@param Context $ctx The source context to copy.
@return Context The target context with our TagContext added.
Creates a new Context with our TagContext attached . To propagate a TagContext to downstream methods and downstream RPCs add a TagContext to the current Context . If there is already a TagContext in the current context it will be replaced with this TagContext .