code: def tree(self,offset=0,prefix_inherited="",nofeatsplease=['Phoneme']):
  		tree = ""
  		numchild=0
  		for child in self.children:
  			if type(child)==type([]):
  				child=child[0]
  			numchild+=1
  			classname=child.classname()
  			if classname=="Word":
  				tree+="\n\n"
  			elif classname=="Line":
  				tree+="\n\n\n"
  			elif classname=="Stanza":
  				tree+="\n\n\n\n"
  			if offset!=0:
  				tree+="\n"
  				for i in range(0,offset):
  					tree+="      "
  				tree+="|"
  			tree+="\n"
  			newline=""
  			for i in range(0,offset):
  				newline+="      "
  			newline+="|"
  			cname=""
  			for letter in classname:
  				if letter==letter.upper():
  					cname+=letter
  			prefix=prefix_inherited+cname+str(numchild) + "."
  			newline+="-----| ("+prefix[:-1]+") <"+classname+">"
  			if child.isBroken():
  				newline+="<<broken>>"
  			else:
  				string=self.u2s(child)
  				if (not "<" in string):
  					newline=makeminlength(newline,99)
  					newline+="["+string+"]"
  				elif string[0]!="<":
  					newline+="\t"+string
  				if len(child.feats):
  					if (not child.classname() in nofeatsplease):
  						for k,v in sorted(child.feats.items()):
  							if v==None:
  								continue
  							newline+="\n"
  							for i in range(0,offset+1):
  								newline+="      "
  							newline+="|     "
  							newline+=self.showFeat(k,v)
  			tree+=newline
  			tree+=child.tree(offset+1,prefix)
  		return tree