private void handleSlideEmbeddedResources(ShapeContainer shapeContainer,
                                              XHTMLContentHandler xhtml)
            throws TikaException, SAXException {
        List<HSLFShape> shapes = getShapes(shapeContainer);
        if (shapes == null) {
            return;
        }
        for (HSLFShape shape : shapes) {
            //handle ActiveXShape, movie shape?
            if (shape instanceof HSLFObjectShape) {
                HSLFObjectShape oleShape = (HSLFObjectShape) shape;

                HSLFObjectData data = null;
                try {
                    data = oleShape.getObjectData();
                } catch (NullPointerException e) {
                    /* getObjectData throws NPE some times. */
                    EmbeddedDocumentUtil.recordEmbeddedStreamException(e, parentMetadata);
                    continue;
                }

                if (data != null) {
                    String objID = Integer.toString(oleShape.getObjectID());
                    processedEmbeddedObjects.add(data.getExOleObjStg().getPersistId());
                    // Embedded Object: add a <div
                    // class="embedded" id="X"/> so consumer can see where
                    // in the main text each embedded document
                    // occurred:
                    AttributesImpl attributes = new AttributesImpl();
                    attributes.addAttribute("", "class", "class", "CDATA", "embedded");
                    attributes.addAttribute("", "id", "id", "CDATA", objID);
                    xhtml.startElement("div", attributes);
                    xhtml.endElement("div");
                    InputStream dataStream = null;
                    try {
                        dataStream = data.getInputStream();
                    } catch (Exception e) {
                        EmbeddedDocumentUtil.recordEmbeddedStreamException(e, parentMetadata);
                        continue;
                    }
                    handleDataStream(dataStream, objID, oleShape.getProgId(), xhtml);
                }
            }
        }
    }
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