private void extractNodes(List<Object> childNodes, Object entity) { for (Object child : childNodes) { for (Extractor extractor : ORDERED_EXTRACTORS) { if (extractor.isApplicable(child)) { Object returnedEntity = extractor.extract(child, entity); extractNodes(((Node) child).getNodeOrArrowlinkOrLinktarget(), returnedEntity); break; } } } }