@Override
  public PayloadSerializer getSerializer(Schema schema, Map<String, Object> tableParams) {
    Class<? extends TBase> thriftClass = getMessageClass(tableParams);
    TProtocolFactory protocolFactory = getProtocolFactory(tableParams);
    inferAndVerifySchema(thriftClass, schema);
    return getPayloadSerializer(schema, protocolFactory, thriftClass);
  }
@Test
  public void deserialize() throws Exception {
    Row row =
        provider
            .getSerializer(
                SHUFFLED_SCHEMA,
                ImmutableMap.of(
                    "thriftClass", TestThriftMessage.class.getName(),
                    "thriftProtocolFactoryClass", TCompactProtocol.Factory.class.getName()))
            .deserialize(new TSerializer(new TCompactProtocol.Factory()).serialize(MESSAGE));
    assertEquals(ROW, row);
  }