public static String parentheticRepresentation(InspectableTree T, Position v) {
String s = v.element().toString(); // elements must implement toString
if (T.isInternal(v)) {
PositionIterator children = T.children(v);
// open parenthesis and recursively process the first subtree
s += " ( " + parentheticRepresentation(T, children.nextPosition());
while (children.hasNext())
// recursively process the remaining subtrees
s += ", " + parentheticRepresentation(T, children.nextPosition());
s += " )"; // close parenthesis
}
return s;
}