code: func (d *Decoder) autoClose(t Token) (Token, bool) {
  	if d.stk == nil || d.stk.kind != stkStart {
  		return nil, false
  	}
  	name := strings.ToLower(d.stk.name.Local)
  	for _, s := range d.AutoClose {
  		if strings.ToLower(s) == name {
  			// This one should be auto closed if t doesn't close it.
  			et, ok := t.(EndElement)
  			if !ok || et.Name.Local != name {
  				return EndElement{d.stk.name}, true
  			}
  			break
  		}
  	}
  	return nil, false
  }
docs: // If the top element on the stack is autoclosing and
  // t is not the end tag, invent the end tag.