code: func (g *oneofGroup) onReadingAlternative(alt *oneofAlternative, msg reflect.Value) reflect.Value {
  	switch wrap := msg.Field(g.fieldIdx); {
  	case wrap.IsNil():
  		return reflect.Value{} // no alternatives are set
  	case wrap.Elem().Type() != alt.outerTyp:
  		return reflect.Value{} // some other alternative is set
  	default:
  		return wrap.Elem().Elem().Field(0) // ~ (*msg.Wrapper).A
  	}
  }
docs: // onReadingAlternative is called when reading a value from the proto message.
  //
  // If returns a valid reflect.Value if the given alternative is realized in
  // the 'msg' or an invalid zero reflect.Value otherwise.