Understanding root nodes
The operation that the AQS is going to execute is defined by its root node. The root node also contains the properties necessary to carry out the requested operation. Properties can greatly differ from one root node type to the other, in the same they differ from one AQS node type to the other.
The children that a root node can take are the same across all the root nodes.
There are three types of root node:
The root node can only have one child node.
All root nodes support the children field so they all accept an AQS query. The purpose of this is for root nodes to describe the operation to execute and for the underlying query to tell the items on which such an operation has to be executed.