public Mailinglist(Element mailinglist) throws ConfigFormatException {
        if (!mailinglist.getName().equals("mailinglist")) {
            throw new IllegalArgumentException(
                    "Wrong tag name for root element");
        }

        name = mailinglist.getAttributeValue("name");
        if (name == null || name.isEmpty()) {
            throw new ConfigFormatException(
                    "No name attribute for mailinglist.");
        }

        for (Element includePerson : mailinglist.getChildren("includePerson")) {
            String pName = includePerson.getAttributeValue("name");
            String email = includePerson.getAttributeValue("email");
            if (pName != null && !pName.isEmpty() && email != null
                    && !email.isEmpty()) {
                members.add(new MailinglistMember(pName, email));
            } else {
                throw new ConfigFormatException(
                        "Invalid includePerson declaration");
            }
        }

        for (Element includeNamiResult : mailinglist
                .getChildren("includeNamiResult")) {
            filters.add(new MailinglistFilter(includeNamiResult));
        }
    }