class Client implements ConcurrencyControlledEntity {

    public String getOrganStatusString(String type) throws IllegalArgumentException {
        Set<Organ> organSet;
        switch (type) {
            case "requests":
                organSet = getCurrentlyRequestedOrgans();
                break;
            case "donations":
                organSet = getCurrentlyDonatedOrgans();
                break;
            default:
                throw new IllegalArgumentException("Organ type should either be \"donations\" or \"requests\"");
        }
        StringBuilder builder = new StringBuilder();
        for (Organ organ : organSet) {
            if (builder.length() != 0) {
                builder.append(", ");
            }
            builder.append(organ);
        }
        if (builder.length() == 0) {
            return "None";
        } else {
            return builder.toString();
        }
    }

    public  Client();
    public  Client(int uid);
    public  Client(String firstName, String middleName, String lastName, LocalDate dateOfBirth, Integer uid);

}