'Collapse subtrees with a single child (ie. unary productions)
into a new non-terminal (Tree node) joined by \'joinChar\'.
This is useful when working with algorithms that do not allow
unary productions, and completely removing the unary productions
would require loss of useful information.  The Tree is modified
directly (since it is passed by reference) and no value is returned.
:param collapsePOS: \'False\' (default) will not collapse the parent of leaf nodes (ie.
Part-of-Speech tags) since they are always unary productions
:type  collapsePOS: bool
:param collapseRoot: \'False\' (default) will not modify the root production
if it is unary.  For the Penn WSJ treebank corpus, this corresponds
to the TOP -> productions.
:type collapseRoot: bool
:param joinChar: A string used to connect collapsed node values (default = "+")
:type  joinChar: str'

def collapse_unary(self, collapsePOS=False, collapseRoot=False, joinChar=u'+'):

    from nltk.treetransforms import collapse_unary
    collapse_unary(self, collapsePOS, collapseRoot, joinChar)
