public MessageDescriptorBuilder <T> Message <EmbeddedT>(int fieldNum, Func <T, EmbeddedT> valueGetter, Action <T, EmbeddedT> valueSetter,
                                                         MessageDescriptor <EmbeddedT> embeddedDescriptor, Func <T, bool> hasValueFunc = null) where EmbeddedT : new()
 {
     return(Add(FieldSetting <T> .CreateMessage <EmbeddedT>(fieldNum, valueGetter, valueSetter, embeddedDescriptor, hasValueFunc)));
 }