protected override void Execute(CodeActivityContext context)
        {
            // Get some file names
            var files = Directory.EnumerateFiles(FileDirectory.Get(context), "*.*", SearchOption.AllDirectories)
                        .Where(s => s.ToLower().EndsWith(".pdf"));

            // Open the output document
            PdfDocument outputDocument = new PdfDocument();

            // Iterate files
            foreach (string file in files)
            {
                // Open the document to import pages from it.
                PdfDocument inputDocument = PdfReader.Open(file, PdfDocumentOpenMode.Import);

                // Iterate pages
                int count = inputDocument.PageCount;
                for (int idx = 0; idx < count; idx++)
                {
                    // Get the page from the external document...
                    PdfPage page = inputDocument.Pages[idx];
                    // ...and add it to the output document.
                    outputDocument.AddPage(page);
                }
            }

            // Save the document...
            string filename = string.Format("{0}", FileDirectory.Get(context)) + "\\" + string.Format("{0}", OutputName.Get(context));

            outputDocument.Save(filename);

            // Set full output path
            OutputFullPath.Set(context, filename);

            // Based on input from the selecter, open or do not open when merged
            if (string.Format("{0}", this.Option) == "Yes")
            {
                // ...and start a viewer.
                Process.Start(filename);
            }
        }