}
private void buildCollection(Collector<Object, Object> collector) {
collector.collectFrom(tree.getRoot());
while (!collector.treeScopeQueue.isEmpty()) {
TreeScope nodes = collector.treeScopeQueue.remove();
for (Object node : nodes.getNodes()) {
Set<MethodInvoker> invokers = contributions.get(node.getClass());
if (invokers != null) {
for (MethodInvoker invoker : invokers) {
invoker.invoke(node, collector);
}