1407
dataBlob *commonpb.DataBlob,
1408
valueT reflect.Type,
1409
>
) (reflect.Value, error) {
tree.go
1410
>
if !valueT.AssignableTo(protoMessageT) {
1411
return reflect.Value{}, serviceerror.NewInternal("only support proto.Message as chasm data")
1412
}
1413
1414
>
value := reflect.New(valueT.Elem())
tree.go
1415
>
1416
>
if dataBlob == nil || len(dataBlob.Data) == 0 {
1417
// If the original data is the zero value of its type, the dataBlob loaded from persistence layer will be nil.
1418
// But we know for component & data nodes, they won't get persisted in the first place if there's no data,