public virtual void IndirectFilterMarkedToBeFlushedBeforeStreamTest()
        {
            // TODO DEVSIX-1193 remove junitExpectedException after fix
            String      inFile = sourceFolder + "indFilterInCatalog.pdf";
            String      @out   = destinationFolder + "indirectFilterMarkedToBeFlushedBeforeStreamTest.pdf";
            PdfWriter   writer = new PdfWriter(@out);
            PdfDocument pdfDoc = new PdfDocument(new PdfReader(inFile), writer);
            // Simulate the case when indirect filter object is marked to be flushed before the stream itself.
            PdfObject filterObject = pdfDoc.GetPdfObject(6);

            filterObject.GetIndirectReference().SetState(PdfObject.MUST_BE_FLUSHED);
            // The image stream will be marked as MUST_BE_FLUSHED after page is flushed.
            pdfDoc.GetFirstPage().GetPdfObject().GetIndirectReference().SetState(PdfObject.MUST_BE_FLUSHED);
            NUnit.Framework.Assert.That(() => {
                writer.FlushWaitingObjects(JavaCollectionsUtil.EmptySet <PdfIndirectReference>());
                pdfDoc.Close();
            }
                                        , NUnit.Framework.Throws.InstanceOf <NullReferenceException>())
            ;
        }