/// <exclude />
        public static void SetSerializedEntityTokens(string username, IEnumerable <string> serializedEntityTokens)
        {
            DataFacade.Delete <IUserActivePerspective>(f => f.Username == username);

            foreach (string serializedEntityToken in serializedEntityTokens)
            {
                IUserActivePerspective activePerspective = DataFacade.BuildNew <IUserActivePerspective>();

                activePerspective.Username = username;
                activePerspective.SerializedEntityToken = serializedEntityToken;
                activePerspective.Id = Guid.NewGuid();

                DataFacade.AddNew <IUserActivePerspective>(activePerspective);
            }
        }
        public override IEnumerable <System.Xml.Linq.XElement> Install()
        {
            // grant Perspective permissions to the current user
            string      perspectiveName = "Composite.Tools.PackageCreator";
            EntityToken entityToken     = new VirtualElementProviderEntityToken("VirtualElementProvider", perspectiveName);

            IUserActivePerspective activePerspective = DataFacade.BuildNew <IUserActivePerspective>();
            string Username = Composite.C1Console.Users.UserSettings.Username;

            activePerspective.Username = Username;
            activePerspective.SerializedEntityToken = EntityTokenSerializer.Serialize(entityToken);
            activePerspective.Id = Guid.NewGuid();

            DataFacade.AddNew <IUserActivePerspective>(activePerspective);
            LoggingService.LogInformation("Composite.Tools.PackageCreator", String.Format("Access to the {0} granted for the {1}.", perspectiveName, Username));

            yield break;
        }