@Override
    public PojoSerializerSnapshot<T> snapshotConfiguration() {
        return buildSnapshot(
                clazz,
                registeredClasses,
                registeredSerializers,
                fields,
                fieldSerializers,
                subclassSerializerCache,
                serializerConfig);
    }
@Test
    void testReconfigureWithDifferentPojoType() throws Exception {
        PojoSerializer<SubTestUserClassB> pojoSerializer1 =
                (PojoSerializer<SubTestUserClassB>)
                        TypeExtractor.getForClass(SubTestUserClassB.class)
                                .createSerializer(new SerializerConfigImpl());

        // snapshot configuration and serialize to bytes
        TypeSerializerSnapshot pojoSerializerConfigSnapshot =
                pojoSerializer1.snapshotConfiguration();
        byte[] serializedConfig;
        try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
            TypeSerializerSnapshotSerializationUtil.writeSerializerSnapshot(
                    new DataOutputViewStreamWrapper(out), pojoSerializerConfigSnapshot);
            serializedConfig = out.toByteArray();
        }

        PojoSerializer<SubTestUserClassA> pojoSerializer2 =
                (PojoSerializer<SubTestUserClassA>)
                        TypeExtractor.getForClass(SubTestUserClassA.class)
                                .createSerializer(new SerializerConfigImpl());

        // read configuration again from bytes
        try (ByteArrayInputStream in = new ByteArrayInputStream(serializedConfig)) {
            pojoSerializerConfigSnapshot =
                    TypeSerializerSnapshotSerializationUtil.readSerializerSnapshot(
                            new DataInputViewStreamWrapper(in),
                            Thread.currentThread().getContextClassLoader());
        }

        @SuppressWarnings("unchecked")
        TypeSerializerSchemaCompatibility<SubTestUserClassA> compatResult =
                pojoSerializer2
                        .snapshotConfiguration()
                        .resolveSchemaCompatibility(pojoSerializerConfigSnapshot);
        assertThat(compatResult.isIncompatible()).isTrue();
    }