private void PrepareCtx(Ctx ctx)
        {
            lock (lockObj)
            {
                ctxContext = new Ctx(ctx.GetMap());

                if (_pi.GetLocalCtx().Count > 0)
                {
                    foreach (var pair in _pi.GetLocalCtx())
                    {
                        ctxContext.SetContext(pair.Key, pair.Value);
                    }
                }

                ctxContext.SetAD_Client_ID(GetAD_Client_ID());
                if (_pi.GetAD_User_ID().HasValue)
                {
                    ctxContext.SetAD_Client_ID(GetAD_Client_ID());
                }
            }
        }