@Override
        public R serviceShape(ServiceShape shape) {
            throw new IllegalArgumentException("DataShapeVisitor cannot be use to visit "
                    + "Service Shapes. Attempted to visit: " + shape);
        }
Creates {@link ShapeVisitor} that only requires implementation of
all data shape branches, but does not support service shapes.

@param <R> Return type.
smithy-model/src/main/java/software/amazon/smithy/model/shapes/ShapeVisitor.java