private static void PrependAndAppendPageContent(string resultFileName)
        {
            string initialDocument = InputFileMultipageDocument;
            string resultDocument  = Path.Combine(ResultDirName, resultFileName);

            using (PdfStreamWriter fileWriter = new PdfStreamWriter(File.OpenWrite(resultDocument)))
            {
                using (PdfFileSource fileSource = new PdfFileSource(File.OpenRead(initialDocument)))
                {
                    RadFixedPage backgroundContentOwner = GenerateBackgroundImageContent(InputFileBackgroundImage);
                    RadFixedPage foregroundContentOwner = GenerateForegroundTextContent("WATERMARK");

                    foreach (PdfPageSource pageSource in fileSource.Pages)
                    {
                        using (PdfPageStreamWriter pageWriter = fileWriter.BeginPage(pageSource.Size, pageSource.Rotation))
                        {
                            using (pageWriter.SaveContentPosition())
                            {
                                double xCenteringTranslation = (pageSource.Size.Width - backgroundContentOwner.Size.Width) / 2;
                                double yCenteringTranslation = (pageSource.Size.Height - backgroundContentOwner.Size.Height) / 2;
                                pageWriter.ContentPosition.Translate(xCenteringTranslation, yCenteringTranslation);
                                pageWriter.WriteContent(backgroundContentOwner);
                            }

                            pageWriter.WriteContent(pageSource);

                            using (pageWriter.SaveContentPosition())
                            {
                                double xCenteringTranslation = (pageSource.Size.Width - foregroundContentOwner.Size.Width) / 2;
                                double yCenteringTranslation = (pageSource.Size.Height - foregroundContentOwner.Size.Height) / 2;
                                pageWriter.ContentPosition.Translate(xCenteringTranslation, yCenteringTranslation);
                                pageWriter.WriteContent(foregroundContentOwner);
                            }
                        }
                    }
                }
            }
        }