In some cases, Thrift instances are converted into more simple types. This is made easy by the existence of the meta data map.
TEnum fields are usually converted to 'int' using getValue.
When converting back to Thrift, those 'int' need to be converted back to TEnum.
The generated TEnum classes have a static method findByValue, but as it is static it is not defined in the TEnum interface and therefore can only be accessed using reflection if the enum type is not know before runtime.
By adding a simple 'public TEnum getByValue(int value)' method in the TEnum interface, we could get rid of the reflection part.