public Server createServer(String name, Map serverAttrs) throws ServiceException {
public Server createServer(String name, Map<String, Object> serverAttrs) throws ServiceException {
    public Server createServer(String name, Map serverAttrs) throws ServiceException {        name = name.toLowerCase().trim();        HashMap attrManagerContext = new HashMap();        AttributeManager.getInstance().preModify(serverAttrs, null, attrManagerContext, true, true);        String authHost = (String)serverAttrs.get(A_zimbraMtaAuthHost);        if (authHost != null) {            serverAttrs.put(A_zimbraMtaAuthURL, URLUtil.getMtaAuthURL(authHost));        }                DirContext ctxt = null;        try {            ctxt = LdapUtil.getDirContext(true);            Attributes attrs = new BasicAttributes(true);            LdapUtil.mapToAttrs(serverAttrs, attrs);            Attribute oc = LdapUtil.addAttr(attrs, A_objectClass, "zimbraServer");            String zimbraIdStr = LdapUtil.generateUUID();            attrs.put(A_zimbraId, zimbraIdStr);            attrs.put(A_cn, name);            String dn = serverNametoDN(name);                        String zimbraServerHostname = null;            Attribute zimbraServiceHostnameAttr = attrs.get(Provisioning.A_zimbraServiceHostname);            if (zimbraServiceHostnameAttr == null) {                zimbraServerHostname = name;                attrs.put(Provisioning.A_zimbraServiceHostname, name);            } else {                zimbraServerHostname = (String) zimbraServiceHostnameAttr.get();            }                        createSubcontext(ctxt, dn, attrs, "createServer");            Server server = getServerById(zimbraIdStr, ctxt, true);            AttributeManager.getInstance().postModify(serverAttrs, server, attrManagerContext, true);            return server;        } catch (NameAlreadyBoundException nabe) {            throw AccountServiceException.SERVER_EXISTS(name);        } catch (NamingException e) {            //if (e instanceof )            throw ServiceException.FAILURE("unable to create server: "+name, e);        } finally {            LdapUtil.closeContext(ctxt);        }    }