public bool Execute(string command, string[] args)
        {
            if (command == PrintInfoCommand)
            {
                PublicationProvider.Instance.PrintInfo();
                return(true);
            }
            else if (args != null && args.Length > 0)
            {
                if (command == CreateModelCommand)
                {
                    return(CreatePublication(args[0]));
                }
                else
                {
                    Publication publication = GetPublication(args[0]);
                    if (publication != null)
                    {
                        //remove publication name from args
                        string[] publicationArgs = new string[args.Length - 1];
                        for (int i = 1; i < args.Length; i++)
                        {
                            publicationArgs[i - 1] = args[i];
                        }

                        return(publication.Execute(command, publicationArgs));
                    }
                }
            }

            return(false);
        }