Como posso definir dados XFA em um formulário XFA estático em iTextSharp e salvá-lo?

Estou tendo um problema muito estranho com o XFA Forms no iText / iTextSharp (iTextSharp 5.3.3 via NuGet). Eu estou tentando preencher um formulário de estilo estático XFA, no entanto minhas alterações não estão tomando.

Eu tenho ambas as edições do iText in Action e tenho consultado a segunda edição, bem como as conversões de amostra de código iTextSharp do livro.

Background: Eu tenho um Formulário XFA que eu posso preencher manualmente usando o Adobe Acrobat no meu computador. Usando iTextSharp eu posso ler quais são os dados XML do Xfa e ver a estrutura dos dados. Eu estou essencialmente tentando imitar isso com o iText.

Como são os dados quando adiciono dados e salvo no Acrobat (observação: esta é apenas a seção específica para conjuntos de dados)

Aqui está o arquivo XML que estou tentando ler para substituir os dados existentes (observe: estes são os contextos inteiros desse arquivo):

No entanto, quando eu passo o caminho para o arquivo XML de substituição e tento definir os dados, o novo arquivo criado (uma cópia do original com os dados substituídos) sem nenhum erro sendo lançado, mas os dados não estão sendo atualizados. Eu posso ver que o novo arquivo é criado e posso abri-lo, mas não há dados no arquivo.

Aqui está o código sendo utilizado para substituir os dados ou preencher pela primeira vez, que é uma variação dehttp://sourceforge.net/p/itextsharp/code/HEAD/tree/trunk/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter08/XfaMovie.cs

public void Generate(string sourceFilePath, string destinationtFilePath, string replacementXmlFilePath)
    {
        PdfReader pdfReader = new PdfReader(sourceFilePath);
        using (MemoryStream ms = new MemoryStream())
        {
            using (PdfStamper stamper = new PdfStamper(pdfReader, ms))
            {
                XfaForm xfaForm = new XfaForm(pdfReader);
                XmlDocument doc = new XmlDocument();
                doc.Load(replacementXmlFilePath);
                xfaForm.DomDocument = doc;
                xfaForm.Changed = true;
                XfaForm.SetXfa(xfaForm, stamper.Reader, stamper.Writer);
            }

            var bytes = ms.ToArray();
            File.WriteAllBytes(destinationtFilePath, bytes);
        }
    }

qualquer ajuda seria muito bem vinda.

questionAnswers(2)

yourAnswerToTheQuestion