public static byte[] serialize(final Object obj) throws IOException {
    return SERIALIZER_REF.get().serialize(obj);
  }
@Test
  public void testClassFullyQualifiedNameSerialization() throws IOException {
    DeleteRecord deleteRecord = DeleteRecord.create(new HoodieKey("key", "partition"));
    List<Pair<DeleteRecord, Long>> deleteRecordList = new ArrayList<>();
    deleteRecordList.add(Pair.of(deleteRecord, -1L));
    HoodieDeleteBlock deleteBlock = new HoodieDeleteBlock(deleteRecordList, false, Collections.emptyMap());

    byte[] firstBytes = SerializationUtils.serialize(deleteBlock);
    byte[] secondBytes = SerializationUtils.serialize(deleteBlock);

    assertNotSame(firstBytes, secondBytes);
    // NOTE: Here we assert that Kryo doesn't optimize out the fully-qualified class-name
    //       and always writes it out
    assertEquals(ByteBuffer.wrap(firstBytes), ByteBuffer.wrap(secondBytes));
  }