required because ThriftMetaData is not parametrized on T