code: func (r *ReadEnvironmentVariablesRequest) MarshalBinary() ([]byte, error) {
  	var env bytes.Buffer
  
  	if n := len(r.Names); n != 0 {
  		for _, e := range r.Names {
  			_, _ = env.Write([]byte(e))
  			_ = env.WriteByte(0)
  		}
  		r.Body.NumNames = uint32(n)
  		r.Body.NamesLength = uint32(env.Len())
  	}
  
  	buf := new(bytes.Buffer)
  
  	_ = binary.Write(buf, binary.LittleEndian, &r.Body)
  
  	if r.Body.NamesLength != 0 {
  		_, _ = buf.Write(env.Bytes())
  	}
  
  	return buf.Bytes(), nil
  }
docs: // MarshalBinary implements the encoding.BinaryMarshaler interface