*/
protected void processNode(final String relativePath, final Node node) {
final boolean isDirectory = (node.getAsset() == null);
final boolean explodeWar = explodeWars && isWar(node);
final ArchivePath path = node.getPath();
processNode(relativePath, path, node, isDirectory || explodeWar);
if (explodeWar) {
ArchiveAsset war = (ArchiveAsset) node.getAsset();
processArchive(relativePath + path.get(), war.getArchive());
} else {
Set<Node> children = node.getChildren();
for (Node child : children) {
processNode(relativePath, child);
}