private void AddEncryptionReference(MessageHeader header, string headerId, IPrefixGenerator prefixGenerator, bool sign, out MemoryStream plainTextStream, out string encryptedDataId)
{
plainTextStream = new MemoryStream();
XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(plainTextStream);
if (sign)
{
this.AddSignatureReference(header, headerId, prefixGenerator, writer);
}
else
{
header.WriteHeader(writer, base.Version);
writer.Flush();
}
encryptedDataId = base.GenerateId();
this.referenceList.AddReferredId(encryptedDataId);
}