public static void process(WordprocessingMLPackage wmlPackage) {
//TODO: Convert to visitor
//behaviour here like TraversalUtil.visit with onlyBody = false
MainDocumentPart mainDocument = null;
RelationshipsPart relPart = null;
List<Relationship> relList = null;
List<Object> elementList = null;
mainDocument = wmlPackage.getMainDocumentPart();
groupAdjacentBorders(mainDocument.getJaxbElement().getBody().getContent());
relPart = mainDocument.getRelationshipsPart();
relList = relPart.getRelationships().getRelationship();
for (Relationship rs : relList) {
elementList = null;
if (Namespaces.HEADER.equals(rs.getType())) {
elementList = ((HeaderPart) relPart.getPart(rs))
.getJaxbElement().getContent();
} else if (Namespaces.FOOTER.equals(rs.getType())) {
elementList = ((FooterPart) relPart.getPart(rs))
.getJaxbElement().getContent();
} else if (Namespaces.ENDNOTES.equals(rs.getType())) {
//elementList = ((EndnotesPart) relPart.getPart(rs)).getContent();
elementList = new ArrayList();
elementList.addAll(
((EndnotesPart) relPart.getPart(rs)).getJaxbElement().getEndnote() );
} else if (Namespaces.FOOTNOTES.equals(rs.getType())) {
//elementList = ((FootnotesPart) relPart.getPart(rs)).getContent();
elementList = new ArrayList();
elementList.addAll(
((FootnotesPart) relPart.getPart(rs)).getJaxbElement().getFootnote() );
} else if (Namespaces.COMMENTS.equals(rs.getType())) {
elementList = new ArrayList();
for (Comment comment : ((CommentsPart) relPart
.getPart(rs)).getJaxbElement().getComment()) {
elementList.addAll(comment.getEGBlockLevelElts());
}
}
if ((elementList != null) && (!elementList.isEmpty())) {