code: def tree(self):
          
          tree = self.get('tree')
          if isinstance(tree, stringtypes):
              tree = SExpr.parse(tree).data
          elif tree is None:
              drv = self.get('derivation')
              if isinstance(drv, dict) and 'label' in drv:
                  def _extract_tree(d):
                      t = [d.get('label', '')]
                      if 'tokens' in d:
                          t.append([d.get('form', '')])
                      else:
                          for dtr in d.get('daughters', []):
                              t.append(_extract_tree(dtr))
                      return t
                  tree = _extract_tree(drv)
          return tree
docs: Deserialize and return a labeled syntax tree. The tree data
          may be a standalone datum, or embedded in the derivation.