private List<MemberShape> synthesizeResourceMembers(Map<String, ShapeId> properties) {
        return properties.entrySet()
                .stream()
                .map(entry -> MemberShape.builder()
                        .id(shape.getId().withMember(entry.getKey()))
                        .target(entry.getValue())
                        .build())
                .toList();
    }
Constructs a MemberGenerator.

@param context The context used to generate documentation.
@param writer The writer to write to.
@param shape The shape whose members are being generated.
@param listingType The type of listing being generated.
smithy-docgen/src/main/java/software/amazon/smithy/docgen/generators/MemberGenerator.java