SerializeObject( Object serializedObject ) { if (serializedObject == null) { throw new ArgumentNullException("serializedObject"); } FixedDocumentSequence fds = serializedObject as FixedDocumentSequence; if (fds == null) { throw new ArgumentException(SR.Get(SRID.ReachSerialization_ExpectedFixedDocumentSequence)); } NgcSerializationManager ngcManager = SerializationManager as NgcSerializationManager; if (!ngcManager.IsPrintTicketEventHandlerEnabled) { //ngcManager.FdsPrintTicket = fds.PrintTicket as PrintTicket; } else { XpsSerializationPrintTicketRequiredEventArgs printTicketEvent = new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedDocumentSequencePrintTicket, 0); ngcManager.OnNGCSerializationPrintTicketRequired(printTicketEvent); } ngcManager.StartDocument(fds, false); ReachSerializer serializer = ngcManager.GetSerializer(fds.References); serializer.SerializeObject(fds.References); ngcManager.EndDocument(); XpsSerializationProgressChangedEventArgs e = new XpsSerializationProgressChangedEventArgs(XpsWritingProgressChangeLevel.FixedDocumentSequenceWritingProgress, 0, 0, null); ngcManager.OnNGCSerializationProgressChagned(e); }