public List<AttendeeGroup> findAttendeeGroupCombinationsOverSize(int minSize) {
        if (minSize < 1 || minSize > attendees.size()) {
            throw new MomoException(AttendeeErrorCode.INVALID_ATTENDEE_SIZE);
        }

        List<AttendeeGroup> array = new ArrayList<>();
        for (int i = attendees.size(); i >= minSize; i--) {
            array.addAll(generateCombinations(i));
        }
        return array;
    }
@DisplayName("참석자 그룹의 모든 조합을 구한다.")
    @Test
    void findCombinationAttendeeGroups() {
        Meeting meeting = MeetingFixture.DINNER.create();
        Attendee jazz = AttendeeFixture.HOST_JAZZ.create(meeting);
        Attendee pedro = AttendeeFixture.GUEST_PEDRO.create(meeting);
        Attendee baeky = AttendeeFixture.GUEST_BAKEY.create(meeting);
        AttendeeGroup attendeeGroup = new AttendeeGroup(List.of(jazz, pedro, baeky));

        List<AttendeeGroup> attendeeGroups = attendeeGroup.findAttendeeGroupCombinationsOverSize(1);

        assertThat(attendeeGroups)
                .containsExactlyInAnyOrder(
                        new AttendeeGroup(List.of(jazz, pedro, baeky)),
                        new AttendeeGroup(List.of(jazz, pedro)),
                        new AttendeeGroup(List.of(jazz, baeky)),
                        new AttendeeGroup(List.of(pedro, baeky)),
                        new AttendeeGroup(List.of(jazz)),
                        new AttendeeGroup(List.of(pedro)),
                        new AttendeeGroup(List.of(baeky))
                );
    }