adapterLookup = lookup = new HashMap(30);
adapterLookup = lookup = Collections.synchronizedMap(new HashMap(30));
	private Map getFactories(Class adaptable) {		//cache reference to lookup to protect against concurrent flush		HashMap lookup = adapterLookup;		if (lookup == null)			adapterLookup = lookup = new HashMap(30);		Map table = (Map) lookup.get(adaptable.getName());		if (table == null) {			// calculate adapters for the class			table = new HashMap(4);			Class[] classes = computeClassOrder(adaptable);			for (int i = 0; i < classes.length; i++)				addFactoriesFor(classes[i].getName(), table);			// cache the table			lookup.put(adaptable.getName(), table);		}		return table;	}