if (cacheSize > 0 && size() > cacheSize) { shrink(); } else { System.runFinalization(); System.gc(); }
		public void shrink() {			if (touchOrder.size() == 0) {				Log.log(Log.LEVEL_ERROR, MODULE, "Empty SmartHashtable");				//throw new OutOfMemoryError();				return;			}			Object key = touchOrder.get(0);			touchOrder.remove(0);			Image i = (Image) get(key, false);			if (i != null) {				i.flush();			}			remove(key);			Runtime.getRuntime().gc();			Log.log(Log.LEVEL_TRACE, MODULE, "Shrunk " + key);		}