code: func (p *printer) JSONPB(pb proto.Message) {
  	m := &jsonpb.Marshaler{}
  	buf := &bytes.Buffer{}
  	if err := m.Marshal(buf, pb); err != nil {
  		panic(fmt.Errorf("failed to marshal a message: %s", err))
  	}
  
  	// Note: json.Marshal indents JSON more nicely than jsonpb.Marshaler.Indent.
  	indented := &bytes.Buffer{}
  	if err := json.Indent(indented, buf.Bytes(), "", "  "); err != nil {
  		panic(err)
  	}
  	p.f("%s\n", indented.Bytes())
  }
docs: // JSONPB prints pb in JSON format, indented.