public static Map<Integer, String> save() {
    // No synchronization here because weakly consistent view should be good enough
    // The assumed risk is that we might not see a new serializer that comes in while iterating,
    // but with a synchronized block, we won't see it anyway
    return registeredDeserializers.entrySet().stream()
      .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().getClass().getName()));
  }
Snapshot a map of the current identifiers to class names for reconstruction on reading out of a
file.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.java