private static NodeDeserializationException createError(
            Type into,
            String pointer,
            Node node,
            String message,
            Throwable cause
    ) {
        String errorMessage = createErrorMessage(into, pointer, node, message);
        return new NodeDeserializationException(errorMessage, node.getSourceLocation(), cause);
    }
Performs the inner deserialization of a type.

<p>This method is invoked by instances of {@link ObjectCreator} to
recursively deserialize a type while also tracking the updated JSON
pointer context for error reporting.

@param value Node value to deserialize.
@param pointer The JSON Pointer to the location of the value being deserialized.
@param into The type being created.
@param mapper The {@code Mapper} that can be invoked to recursively deserialize.
@param <T> The type of value to create.
@return Returns the created value.
smithy-model/src/main/java/software/amazon/smithy/model/node/NodeMapper.java