func (k *Key) marshal(b *bytes.Buffer) {
	if k.parent != nil {
		k.parent.marshal(b)
	}
	b.WriteByte('/')
	b.WriteString(k.kind)
	b.WriteByte(',')
	if k.stringID != "" {
		b.WriteString(k.stringID)
	} else {
		b.WriteString(strconv.FormatInt(k.intID, 10))
	}
}
func (k *Key) marshal(b *bytes.Buffer) {
	if k.parent != nil {
		k.parent.marshal(b)
	}
	b.WriteByte('/')
	b.WriteString(k.kind)
	b.WriteByte(',')
	if k.stringID != "" {
		b.WriteString(k.stringID)
	} else {
		b.WriteString(strconv.FormatInt(k.intID, 10))
	}
}
func ( k * Key ) marshal ( b * bytes . Buffer ) { if k . parent != nil { k . parent . marshal ( b ) } b . WriteByte ( '/' ) b . WriteString ( k . kind ) b . WriteByte ( ',' ) if k . stringID != " " { b . WriteString ( k . stringID ) } else { b . WriteString ( strconv . FormatInt ( k . intID , 10 ) ) } }
// marshal marshals the key's string representation to the buffer.
marshal marshals the key s string representation to the buffer .