code: func (pb *ProtobufEncoder) Encode(subject string, v interface{}) ([]byte, error) {
  	if v == nil {
  		return nil, nil
  	}
  	i, found := v.(proto.Message)
  	if !found {
  		return nil, ErrInvalidProtoMsgEncode
  	}
  
  	b, err := proto.Marshal(i)
  	if err != nil {
  		return nil, err
  	}
  	return b, nil
  }
docs: // Encode