RebeccaH,
A tree is a strange thing. I encountered them in computer science a few decades ago. We had to write programs to implement trees using recursive programming, the bane of every young programmer.
Here is my take on your issue.
Its actually very simple and also complicated.
Lets start with the simple parts. A tree consists of nodes and branches that connect nodes.
The complex part is when you then define the types of nodes: parents, child, sibling and leave nodes etc. You define the rules that govern the behaviour of each node, including when a node is expanded or collapsed. Typical operations on the components include add, remove, display, find, and group etc.
Now since a node is just a complex object that has different states, you can most likely use a UML state diagram to show the transitions: a collapsed node can be expanded and an expanded node can be collapsed etc.
Heres how Microsoft describes their state transitions for Outlook Hierarchy at
http://msdn.microsoft.com/en-us/library/bb905306.aspx
I sometimes us a state diagram to fathom the transitions of a complex item during requirements gathering.
I hope this helps a bit.