throw ServiceException.INVALID_REQUEST("invalid set of attributes", e);
throw ServiceException.INVALID_REQUEST("invalid set of attributes: "+e.getMessage(), e);
    synchronized void modifyAttrsInternal(DirContext initCtxt, Map attrs) throws ServiceException {        DirContext ctxt = initCtxt;        try {            if (ctxt == null)                ctxt = LdapUtil.getDirContext(true);            LdapUtil.modifyAttrs(ctxt, mDn,  attrs, mAttrs);            refresh(ctxt, 0);        } catch (InvalidAttributeIdentifierException e) {            throw AccountServiceException.INVALID_ATTR_NAME("invalid attr name", e);        } catch (InvalidAttributeValueException e) {            throw AccountServiceException.INVALID_ATTR_VALUE("invalid attr value", e);                    } catch (InvalidAttributesException e) {            throw ServiceException.INVALID_REQUEST("invalid set of attributes", e);        } catch (SchemaViolationException e) {            throw ServiceException.INVALID_REQUEST("LDAP schema violation: " + e.getMessage(), e);        } catch (NamingException e) {            throw ServiceException.FAILURE("unable to modify attrs", e);        } finally {            if (initCtxt == null)                LdapUtil.closeContext(ctxt);        }    }