public List<Metadata> recursiveParserWrapperExample() throws IOException, SAXException, TikaException {
        Parser p = new AutoDetectParser();
        ContentHandlerFactory factory = new BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.HTML, -1);

        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(p);
        Metadata metadata = new Metadata();
        metadata.set(TikaCoreProperties.RESOURCE_NAME_KEY, "test_recursive_embedded.docx");
        ParseContext context = new ParseContext();
        RecursiveParserWrapperHandler handler = new RecursiveParserWrapperHandler(factory, -1);
        try (InputStream stream = ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx")) {
            wrapper.parse(stream, handler, metadata, context);
        }

        return handler.getMetadataList();
    }
@Test
    public void testRecursiveParserWrapperExample() throws IOException, SAXException, TikaException {
        List<Metadata> metadataList = parsingExample.recursiveParserWrapperExample();
        assertEquals(12, metadataList.size(), "Number of embedded documents + 1 for the container document");
        Metadata m = metadataList.get(6);
        //this is the location the embed3.txt text file within the outer .docx
        assertEquals("/embed1.zip/embed2.zip/embed3.zip/embed3.txt", m.get("X-TIKA:embedded_resource_path"));
        //it contains some html encoded content
        assertContains("When in the Course", m.get("X-TIKA:content"));
    }