private List<XMPPackage> getXMPPackage() {
List<XMPPackage> xmp = new ArrayList<>(MAX_NUMBER_OF_ELEMENTS);
try {
COSStream stream = ((org.apache.pdfbox.pdmodel.common.PDMetadata) this.simplePDObject).getStream();
if (stream != null) {
VeraPDFMeta metadata = VeraPDFMeta.parse(stream.getUnfilteredStream());
if (isMainMetadata) {
xmp.add(new AXLMainXMPPackage(metadata, true, this.flavour));
} else if (this.flavour == null || this.flavour.getPart() == null
|| this.flavour.getPart().getPartNumber() != 1) {
COSStream mainStream = mainMetadata.getStream();
VeraPDFXMPNode mainExtensionNode = null;
if (mainStream != null) {
VeraPDFMeta mainMeta = VeraPDFMeta.parse(mainStream.getUnfilteredStream());
mainExtensionNode = mainMeta.getExtensionSchemasNode();
}
xmp.add(new AXLXMPPackage(metadata, true, mainExtensionNode, this.flavour));
}
}
} catch (XMPException | IOException e) {
LOGGER.debug("Problems with parsing metadata. " + e.getMessage(), e);
if (isMainMetadata) {
xmp.add(new AXLMainXMPPackage(null, false, this.flavour));
} else if (this.flavour == null || this.flavour.getPart() == null
|| this.flavour.getPart().getPartNumber() != 1) {
xmp.add(new AXLXMPPackage(null, false, null, this.flavour));
}
}
return xmp;
}