public Services.Packages.Log.Security.ApplicationExceptionAccessControlListCollection GetACLs(ApplicationException _ApplicationException, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                /*
                if (!Services.Packages.Log.Security.Security.ApplicationExceptionAccessControlListSecureService.CheckAccessImp(_ApplicationException.ACLs, SessionToken, "Read"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                return _ApplicationException.ACLs;
            }
            public void SetACLs(ApplicationException _ApplicationException, Services.Packages.Log.Security.ApplicationExceptionAccessControlListCollection _ACLs, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                /*
                _ACLs.Reload();
                if (_ACLs.Exists && !Services.Packages.Log.Security.Security.ApplicationExceptionAccessControlListSecureService.CheckAccessImp(_ACLs, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_ACLs.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Create ACLs"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _ApplicationException.ACLs = _ACLs;
                _ApplicationException.Update();
            }
            public void SetOwner(ApplicationException _ApplicationException, Services.Packages.Security.ModelUser _Owner, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                //*
                _Owner.Reload();
                if (_Owner.Exists && !Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_Owner, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_Owner.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Create ApplicationExceptionOwning"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _ApplicationException.Owner = _Owner;
                _ApplicationException.Update();
            }
            public void SetInnerExceptions(ApplicationException _ApplicationException, Services.Packages.Log.ApplicationExceptionCollection _InnerExceptions, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                /*
                _InnerExceptions.Reload();
                if (_InnerExceptions.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_InnerExceptions, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_InnerExceptions.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Create InnerExceptions"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _ApplicationException.InnerExceptions = _InnerExceptions;
                _ApplicationException.Update();
            }
            public Services.Packages.Security.ModelUser GetOwner(ApplicationException _ApplicationException, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                //*
                if (!Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_ApplicationException.Owner, SessionToken, "Read"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                return _ApplicationException.Owner;
            }
            public void SetApiKey(ApplicationException _ApplicationException, Services.Packages.ApiKey _ApiKey, string SessionToken)
            {
                _ApplicationException.Reload();

                //*
                if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                //*
                _ApiKey.Reload();
                if (_ApiKey.Exists && !Services.Packages.Security.ApiKeySecureService.CheckAccessImp(_ApiKey, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_ApiKey.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Create ApplicationExceptionsLogged"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _ApplicationException.ApiKey = _ApiKey;
                _ApplicationException.Update();
            }
            public void CreateObjectFromOwner(ApplicationException _ApplicationException, Services.Packages.Security.ModelUser _Owner, string SessionToken)
            {
                ModelSession session = ApplicationExceptionSecureService.CheckSessionImp(SessionToken);

                //if (!Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_Owner, SessionToken, "Create ApplicationExceptionOwning"))
                //	throw new UnauthorizedAccessException("Access Denied");

                _ApplicationException.Reload();

                if (!_ApplicationException.Exists && !Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_Owner, SessionToken, "Create ApplicationExceptionOwning"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (_ApplicationException.Exists && !ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");

                _ApplicationException.Owner = session.User;
                _ApplicationException.Owner = _Owner;
                _ApplicationException.Create();
            }
            public void CreateObjectFromParentException(ApplicationException _ApplicationException, Services.Packages.Log.ApplicationException _ParentException, string SessionToken)
            {
                ModelSession session = ApplicationExceptionSecureService.CheckSessionImp(SessionToken);

                //if (!Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ParentException, SessionToken, "Create InnerExceptions"))
                //	throw new UnauthorizedAccessException("Access Denied");

                _ApplicationException.Reload();

                if (!_ApplicationException.Exists && !Services.Packages.Log.Security.ApplicationExceptionSecureService.CheckAccessImp(_ParentException, SessionToken, "Create InnerExceptions"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (_ApplicationException.Exists && !ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");

                _ApplicationException.Owner = session.User;
                _ApplicationException.ParentException = _ParentException;
                _ApplicationException.Create();
            }
            public ApplicationException Reload(ApplicationException _ApplicationException, string SessionToken)
            {
                _ApplicationException.Reload();

                if (!ApplicationExceptionSecureService.CheckAccessImp(_ApplicationException, SessionToken, "Read"))
                throw new UnauthorizedAccessException("Access Denied");

                return _ApplicationException;
            }