Converting Markdown with Html to xliff2 (XLIFF2FilterWriter) results in error

When using the net.sf.okapi.filters.xliff2.XLIFF2FilterWriter & net.sf.okapi.filters.markdown.MarkdownFilter

to convert a md string with html tags, such as

# Markdown content 
<div> More text </div>

I get a

java.lang.NullPointerException: Cannot invoke "net.sf.okapi.common.resource.ITextUnit.getSource()" because "parentTextUnit" is null

	at net.sf.okapi.filters.xliff2.XLIFF2FilterWriter.overWriteTarget(XLIFF2FilterWriter.java:215)
	at net.sf.okapi.filters.xliff2.XLIFF2FilterWriter.processEndSubfilter(XLIFF2FilterWriter.java:196)
	at net.sf.okapi.filters.xliff2.XLIFF2FilterWriter.handleEvent(XLIFF2FilterWriter.java:257)

I've created a example to reproduce the issue as a test added to net.sf.okapi.filters.xliff2.Xliff2FilterWriterTest ( adding dependency on okapi-filter-markdown to the module )

    @Test
    public void testWriteMarkdownWithHtmlAsXliff2() throws Exception {
        MarkdownFilter filter = new net.sf.okapi.filters.markdown.MarkdownFilter();
        RawDocument rd = new RawDocument(new ByteArrayInputStream("# Markdown content \n <div> Inside the tag. </div>".getBytes()), "UTF-8", LocaleId.ENGLISH);
        rd.setTargetLocale(LocaleId.ENGLISH);
        List<Event> events = FilterTestDriver.getEvents(filter, rd, null);
        ByteArrayOutputStream out = new ByteArrayOutputStream();

        try (IFilterWriter w = new XLIFF2FilterWriter(new Parameters(), filter.getEncoderManager())){
            w.setOptions(LocaleId.FRENCH, "UTF-8");
            w.getParameters().setBoolean(XLIFFWriterParameters.COPYSOURCE, true);
            w.setOutput(out);
            events.forEach(w::handleEvent);
        }
    }

I have spent a few days trying to adjust the settings of the writer, the filter & the subfilter without any luck. I've noticed the parentTextUnit is set to null here net.sf.okapi.common.filters.AbstractSubFilter#setStartSubfilter

    @Override
    public void setStartSubfilter(StartSubfilter startSubfilter) {
        this.startSubFilter = startSubfilter;
        // parentTexUnit could be null, but that's ok
        this.startSubFilter.setParentTextUnit(parentTexUnit);
    }

Witch causes the nullpointerexception in XLIFF2FilterWriter .

It started looking to me as a potential bug, not just my bad config, so I decided to report it.

If you can lend any help to my resolution of this issue, it would be greatly apreciated.

Thank you.

Edited by Krystof Sykora