boolean preparable =
PreparableMatcher.class.isAssignableFrom(clazz) &&
!MapStackResolver.needsResolve(pattern);
// Instanciate appropriate node
SimpleSelectorProcessingNode node;
if (preparable) {
node = new PreparableMatchNode(type, pattern);
} else {
node = new MatchNode(type, pattern);
}
this.treeBuilder.setupNode(node, config);
// Get all children
ProcessingNode[] children = buildChildNodes(config);
if (children.length == 0) {
String msg = "There must be at least one child in match at " + config.getLocation();
getLogger().error(msg);
throw new ConfigurationException(msg);
}
node.setChildren(children);
return node;
}