Map<? extends org.apache.thrift.TFieldIdEnum, FieldMetaData> fieldMap =
FieldMetaData.getStructMetaDataMap(thriftObj.getClass());
for (Map.Entry<? extends TFieldIdEnum, FieldMetaData> e : fieldMap.entrySet()) {
final TFieldIdEnum tFieldIdEnum = e.getKey();
final FieldValueMetaData thriftMetadata = e.getValue().valueMetaData;
FieldDescriptor protoFieldDesc = protoDesc.findFieldByName(tFieldIdEnum.getFieldName());
if ( protoFieldDesc == null ) {
throw new RuntimeException("Field " + tFieldIdEnum.getFieldName() +
" not found in " + protoObj_.getClass().getCanonicalName());