private void _executeReconciliationAction(CswNbtResources _CswNbtResources, CswNbtObjClassContainerLocation ContainerLocation)
        {
            CswNbtObjClassUser UserNode = _CswNbtResources.Nodes[ContainerLocation.ActionByUser.RelatedNodeId];

            // case 30346 - use user's info for audit context
            if (null != UserNode)
            {
                _CswNbtResources.AuditFirstName = UserNode.FirstName;
                _CswNbtResources.AuditLastName  = UserNode.LastName;
                _CswNbtResources.AuditUsername  = UserNode.Username;
            }

            CswNbtObjClassContainer Container = _CswNbtResources.Nodes[ContainerLocation.Container.RelatedNodeId];

            if (null != Container)
            {
                CswEnumNbtContainerLocationActionOptions Action = ContainerLocation.Action.Value;
                if (Action == CswEnumNbtContainerLocationActionOptions.Undispose ||
                    Action == CswEnumNbtContainerLocationActionOptions.UndisposeAndMove)
                {
                    Container.UndisposeContainer(OverridePermissions: true, CreateContainerLocation: false);
                }
                if (Action == CswEnumNbtContainerLocationActionOptions.MoveToLocation ||
                    Action == CswEnumNbtContainerLocationActionOptions.UndisposeAndMove)
                {
                    Container.Location.SelectedNodeId = ContainerLocation.Location.SelectedNodeId;
                    Container.Location.RefreshNodeName();
                    Container.Location.CreateContainerLocation = false;
                }
                Container.Missing.Checked = Action == CswEnumNbtContainerLocationActionOptions.MarkMissing
                    ? CswEnumTristate.True
                    : CswEnumTristate.False;
                Container.postChanges(false);
            }
        }