{@link XMLStreamReader} wrapper that decodes XOP. It uses the extension defined by{@link DataHandlerReader} to expose the {@link DataHandler} objects referenced by
xop:Include elements encountered in the underlying stream. If the consumer uses {@link #getText()}, {@link #getTextCharacters()}, {@link #getTextCharacters(int,char[],int,int)} or {@link #getElementText()} when an
xop:Include element is present in the underlying stream, then the decoder will produce a base64 representation of the data.
Note that this class only implements infoset transformation, but doesn't handle MIME processing. A {@link MimePartProvider} implementation must be provided to the constructor of this class. Thisobject will be used to load MIME parts referenced by xop:Include elements encountered in the underlying stream.
This class supports deferred loading of MIME parts: If the consumer uses {@link DataHandlerReader#getDataHandlerProvider()}, then the {@link MimePartProvider} will onlybe invoked when {@link DataHandlerProvider#getDataHandler()} is called.