static NeighborProvider withIdRefRelationships(Model model, NeighborProvider neighborProvider) {
        Map<ShapeId, Set<Relationship>> idRefRelationships = new IdRefShapeRelationships(model).getRelationships();
        return shape -> {
            List<Relationship> relationships = neighborProvider.getNeighbors(shape);

            if (!idRefRelationships.containsKey(shape.getId())) {
                return relationships;
            }

            relationships = new ArrayList<>(relationships);
            relationships.addAll(idRefRelationships.get(shape.getId()));
            return relationships;
        };
    }
Creates a NeighborProvider that includes {@link RelationshipType#ID_REF}
relationships.

@param model Model to use to look up shapes referenced by {@link IdRefTrait}.
@param neighborProvider Provider to wrap.
@return Returns the created neighbor provider.
smithy-model/src/main/java/software/amazon/smithy/model/neighbor/NeighborProvider.java