} if (memberList.isEmpty()) { throw ServiceException.INVALID_REQUEST("members to add not specified", null);
    public Element handle(Element request, Map<String, Object> context) throws ServiceException {                ZimbraSoapContext lc = getZimbraSoapContext(context);        Provisioning prov = Provisioning.getInstance();                String id = request.getAttribute(AdminService.E_ID);        List<String> memberList = new LinkedList<String>();        for (Element elem : request.listElements(AdminService.E_DLM)) {        	memberList.add(elem.getTextTrim());        }                DistributionList dl = prov.get(DistributionListBy.id, id);        if (dl == null)            throw AccountServiceException.NO_SUCH_DISTRIBUTION_LIST(id);        if (!canAccessEmail(lc, dl.getName()))            throw ServiceException.PERM_DENIED("can not access dl");        String[] members = (String[]) memberList.toArray(new String[0]);         prov.addMembers(dl, members);        ZimbraLog.security.info(ZimbraLog.encodeAttrs(                                                      new String[] {"cmd", "AddDistributionListMember","name", dl.getName(), "members", Arrays.deepToString(members)}));                 Element response = lc.createElement(AdminService.ADD_DISTRIBUTION_LIST_MEMBER_RESPONSE);        return response;    }