@Override
    public Stream<Shape> shapes(Model model, StartingContext startingContext) {
        Collection<? extends Shape> startingShapes = getStartingShapes(model, startingContext);
        NeighborProviderIndex index = NeighborProviderIndex.of(model);
        List<Set<Shape>> computedRoots = computeRoots(model);
        return streamStartingShapes(startingShapes).flatMap(shape -> {
            Context context = new Context(model, index, computedRoots);
            return delegate.pushResultsToCollection(context, shape, new ArrayList<>()).stream();
        });
    }
Uses parallel streams when the model size exceeds this number.
smithy-model/src/main/java/software/amazon/smithy/model/selector/WrappedSelector.java