code: func unpackDescriptor(compressedDescriptor []byte) (*protobuf.FileDescriptorProto, error) {
  	r, err := gzip.NewReader(bytes.NewReader(compressedDescriptor))
  	if err != nil {
  		return nil, err
  	}
  	defer r.Close()
  
  	b, err := ioutil.ReadAll(r)
  	if err != nil {
  		return nil, err
  	}
  
  	var fileDescriptorProto protobuf.FileDescriptorProto
  
  	if err = proto.Unmarshal(b, &fileDescriptorProto); err != nil {
  		return nil, err
  	}
  
  	return &fileDescriptorProto, nil
  }
docs: // Receive a compressed byte slice and unpack it to a FileDescriptorProto