var parent = this.getParent(context); buffer.blocks = buffer.blocks || {}; // The parent won't always be in the default parent's nodelist for(var i = 0, node; node = this.nodelist.contents[i]; i++){ if(node instanceof dojox.dtl.tag.loader.BlockNode){ buffer.blocks[node.name] = { shared: this.shared, nodelist: node.nodelist, used: false } } } this.rendered = parent; buffer = parent.nodelist.render(context, buffer, this); var rerender = false; for(var name in buffer.blocks){ var block = buffer.blocks[name]; if(!block.used){ rerender = true; parent.nodelist[0].nodelist.append(block.nodelist); } } if(rerender){ buffer = parent.nodelist.render(context, buffer, this); } return buffer;