@

>>> parent = Node(model.node.parent)   
>>> dict((str(e),Node(e)) for e in parent)
{'hot dogs': , 'blue': , 'ravioli': , 'sports': , 'red': , 'football': , 'food': , 'JTree': , 'soccer': , 'hockey': , 'bananas': , 'basketball': , 'colors': , 'pizza': , 'violet': , 'yellow': }
>>> m = _

>>> m["colors"]

>>> list(_)
[colors, blue, violet, red, yellow]

>>> m["food"]

>>> list(_)
[food, hot dogs, pizza, ravioli, bananas]

>>> m["red"].node in model
True
>>> m["pizza"].node in model
False

>>> dict((i,e) for i,e in enumerate(model))
{1: blue, 2: violet, 4: yellow, 3: red, 0: colors}

>>> [list(e.path) for e in model]
[[JTree, colors], [JTree, colors, blue], [JTree, colors, violet], [JTree, colors, red], [JTree, colors, yellow]]

>>> for e in model:
... 	print "/".join([str(e) for e in e.path]) 
... 
JTree/colors
JTree/colors/blue
JTree/colors/violet
JTree/colors/red
JTree/colors/yellow

>>> ["/".join([str(e) for e in e.path]) for e in model]
['JTree/colors', 'JTree/colors/blue', 'JTree/colors/violet', 'JTree/colors/red', 'JTree/colors/yellow']