private void handleNotes(HSLFSlide slide, HeadersFooters notesHeaderFooters,
                             XHTMLContentHandler xhtml)
            throws SAXException, TikaException, IOException {

        if (!officeParserConfig.isIncludeSlideNotes()) {
            return;
        }
        // Find the Notes for this slide and extract inline
        HSLFNotes notes = slide.getNotes();
        if (notes == null) {
            return;
        }

        xhtml.startElement("div", "class", "notes");

        // Repeat the Notes header, if set
        if (officeParserConfig.isIncludeHeadersAndFooters() && notesHeaderFooters != null &&
                notesHeaderFooters.isHeaderVisible() &&
                notesHeaderFooters.getHeaderText() != null) {
            xhtml.startElement("p", "class", "slide-note-header");
            xhtml.characters(notesHeaderFooters.getHeaderText());
            xhtml.endElement("p");
        }
        xhtml.startElement("div", "class", "notes-content");
        // Notes text
        textRunsToText(xhtml, notes.getTextParagraphs());

        List<HSLFShape> shapes = getShapes(notes);
        if (shapes != null && shapes.size() > 0) {
            // Table text
            for (HSLFShape shape : shapes) {
                if (shape instanceof HSLFTable) {
                    extractTableText(xhtml, (HSLFTable) shape);
                }
            }
        }
        extractGroupText(xhtml, notes, 0);
        //notes content
        xhtml.endElement("div");

        // Repeat the Notes footer, if set
        if (officeParserConfig.isIncludeHeadersAndFooters() && notesHeaderFooters != null &&
                notesHeaderFooters.isFooterVisible() &&
                notesHeaderFooters.getFooterText() != null) {
            xhtml.startElement("p", "class", "slide-note-footer");
            xhtml.characters(notesHeaderFooters.getFooterText());
            xhtml.endElement("p");
        }
        // Now any embedded resources
        handleSlideEmbeddedResources(notes, xhtml);
        //end notes
        xhtml.endElement("div");
    }
This is the catch-all for embedded objects.  If we didn't come across
them in the shapes in the slides, headers/footers, etc, try to
extract them here.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java