@Override
        public Void listShape(ListShape shape) {
            if (leftValue != null && rightValue != null && leftValue.isArrayNode() && rightValue.isArrayNode()) {
                List<Node> leftValues = leftValue.expectArrayNode().getElements();
                List<Node> rightValues = rightValue.expectArrayNode().getElements();

                // Look for changed and removed elements.
                for (int i = 0; i < leftValues.size(); i++) {
                    Node element = leftValues.get(i);
                    if (rightValues.size() > i) {
                        crawlContents(model,
                                startingShape,
                                trait,
                                shape.getMember(),
                                element,
                                rightValues.get(i),
                                events,
                                path + '/' + i);
                    } else {
                        crawlContents(model,
                                startingShape,
                                trait,
                                shape.getMember(),
                                element,
                                null,
                                events,
                                path + '/' + i);
                    }
                }

                // Look for added elements.
                for (int i = 0; i < rightValues.size(); i++) {
                    Node element = rightValues.get(i);
                    if (leftValues.size() <= i) {
                        crawlContents(model,
                                startingShape,
                                trait,
                                shape.getMember(),
                                null,
                                element,
                                events,
                                path + '/' + i);
                    }
                }
            }
            return null;
        }
Traits in this list have special backward compatibility rules and can't be validated here.
smithy-diff/src/main/java/software/amazon/smithy/diff/evaluators/ModifiedTrait.java