Fetch from the database the nodes that correspond to the given terms
and return them. If any of the term does not correspond to a Node, an
error is returned.
Make the sub-tree with the given root as root.
If species is true, then doesn’t include in the resulting tree
the nodes that are below nodes ranked as species (such as subspecies).
Make the tree with the Root as root and the given nodes as leaves.
Any given node that is not a leaf (because another given node is in
its sub-tree) is kept in the returned tree.