private void pushShapes(
            Model model,
            Collection<? extends Shape> startingShapes,
            InternalSelector.Receiver acceptor
    ) {
        Objects.requireNonNull(startingShapes);
        Context context = new Context(model, NeighborProviderIndex.of(model), computeRoots(model));
        for (Shape shape : startingShapes) {
            context.getVars().clear();
            delegate.push(context, shape, acceptor);
        }
    }
Uses parallel streams when the model size exceeds this number.
smithy-model/src/main/java/software/amazon/smithy/model/selector/WrappedSelector.java