initClassToAttrsMap();
    private AttributeManager(String dir) throws ServiceException {    	initFlagsToAttrsMap();    	File fdir = new File(dir);    	if (!fdir.exists()) {    		throw ServiceException.FAILURE("attrs directory does not exists: " + dir, null);    	}    	if (!fdir.isDirectory()) {    		throw ServiceException.FAILURE("attrs directory is not a directory: " + dir, null);    	}    	    	File[] files = fdir.listFiles();    	for (File file : files) {     		if (!file.getPath().endsWith(".xml")) {    			ZimbraLog.misc.warn("while loading attrs, ignoring not .xml file: " + file);    			continue;    		}    		if (!file.isFile()) {    			ZimbraLog.misc.warn("while loading attrs, ignored non-file: " + file);    		}    		try {    			loadAttrs(file);    		} catch (DocumentException de) {    			throw ServiceException.FAILURE("error loading attrs file: " + file, de);    		}    	}    	    }