It seems like the builder pattern is good if you're making some linear chain of things (java's StringBuilder) or creating an object with many properties (PizzaBuilder).
Can it be extended to build a a tree without specifying possibly confusing node locations?
a
/ | \
c d e
/ \
f g
TreeBuilder tb.addNode(levelNumber, parentNumber, nodeName) // I think this is terrible
tb.addNode(2, 3, g) //terrible
Or is just not a good idea with this pattern?
Thanks