parameters: (self, t)
return_statement: return self.determine_non_trivial_head(t)
docstring: Determine which daughter of the current parse tree is the head.
         
          @param t The parse tree to examine the daughters of.
                   If this is a leaf, <code>null</code> is returned
          @return The daughter parse tree that is the head of <code>t</code>
          @see Tree#percolateHeads(HeadFinder)
               for a routine to call this and spread heads throughout a tree.
docstring_summary: Determine which daughter of the current parse tree is the head.
docstring_tokens: Determine which daughter of the current parse tree is the head .
function: def determine_head(self, t):
          '''Determine which daughter of the current parse tree is the head.
         
          @param t The parse tree to examine the daughters of.
                   If this is a leaf, <code>null</code> is returned
          @return The daughter parse tree that is the head of <code>t</code>
          @see Tree#percolateHeads(HeadFinder)
               for a routine to call this and spread heads throughout a tree.'''
     
          if t.is_leaf():
              return None
          kids = t.get_children()
          
          
          # if the node is a unary, then that kid must be the head
          # it used to special case preterminal and ROOT/TOP case
          # but that seemed bad (especially hardcoding string "ROOT")
          if len(kids) == 1:
              return kids[0]
  
          return self.determine_non_trivial_head(t)
function_tokens: def determine_head ( self , t ) : if t . is_leaf ( ) : return None kids = t . get_children ( ) # if the node is a unary, then that kid must be the head # it used to special case preterminal and ROOT/TOP case # but that seemed bad (especially hardcoding string "ROOT") if len ( kids ) == 1 : return kids [ 0 ] return self . determine_non_trivial_head ( t )