private static ObjectCreatorFactory cachedCreator(ObjectCreatorFactory delegate) {
        IdentityClassCache<String, NodeMapper.ObjectCreator> cache = new IdentityClassCache<>();
        return (nodeType, target, nodeMapper) -> {
            String key = nodeType.getNodeClass() + ":" + target.getTypeName();
            return cache.getForClass(key, target, () -> delegate.getCreator(nodeType, target, nodeMapper));
        };
    }
The default implementations use to convert Nodes into Objects through a {@link NodeMapper}.
smithy-model/src/main/java/software/amazon/smithy/model/node/DefaultNodeDeserializers.java