code: public TreeGraphNode headTagNode() {
      TreeGraphNode htn = safeCast(label.get(TreeCoreAnnotations.HeadTagAnnotation.class));
      if (htn == null || (htn.treeGraph() != null && !(htn.treeGraph().equals(this.treeGraph())))) {
        return null;
      }
      return htn;
    }
docs: Return the node containing the head tag for this node (or
  <code>null</code> if none), as recorded in this node's {@link
  CyclicCoreLabel <code>CyclicCoreLabel</code>}.  (In contrast to {@link
  edu.stanford.nlp.ling.CategoryWordTag
  <code>CategoryWordTag</code>}, we store head words and head
  tags as references to nodes, not merely as
  <code>String</code>s.)
  
  @return the node containing the head tag for this node