@Override
        public NodeMapper.ObjectCreator getCreator(NodeType nodeType, Type target, NodeMapper nodeMapper) {
            if (nodeType != NodeType.ARRAY) {
                return null;
            }

            ReflectiveSupplier<Collection<Object>> ctor = createSupplier(target);
            if (ctor == null) {
                return null;
            }

            return (node, targetType, pointer, mapper) -> {
                Collection<Object> collection;

                try {
                    collection = ctor.get();
                } catch (ReflectiveOperationException e) {
                    String message = "Unable to deserialize array into Collection: " + getCauseMessage(e);
                    throw NodeDeserializationException.fromReflectiveContext(targetType, pointer, node, e, message);
                }

                // Extract out the expected generic type of the collection.
                Type memberType = Object.class;

                // If given a Class, then attempt to find the generic superclass (e.g., extending ArrayList with a
                // concrete generic type).
                if (targetType instanceof Class) {
                    targetType = ((Class<?>) target).getGenericSuperclass();
                }

                if (targetType instanceof ParameterizedType) {
                    Type[] genericTypes = ((ParameterizedType) targetType).getActualTypeArguments();
                    if (genericTypes.length > 0) {
                        memberType = genericTypes[0];
                    }
                }

                int i = 0;
                for (Node entry : node.expectArrayNode().getElements()) {
                    Object nextValue = mapper.deserializeNext(entry, pointer + "/" + i++, memberType, mapper);
                    collection.add(nextValue);
                }
                return collection;
            };
        }
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