> This is /very/ alpha code, but somebody out there may get the warm > fuzzies while reading through it. I'm sorry, Matthew, but List<ItemRef<Node>> nodes = new ArrayList<ItemRef<Node>>(); gives me the shudders, not the warm fuzzies. :) Seriously though, I think it's going to take me a while to grok what you've written, but it does look interesting at first glance. michael