BundleFile toRemove = bundleFileList[index];
toRemove = bundleFileList[index];
	public void add(BundleFile bundleFile) throws IOException {		if (fileLimit < MIN)			return; // MRU is disabled		synchronized (this) {			if (bundleFile.getMruIndex() >= 0)				return;  // do nothing; someone is trying add a bundleFile that is already in an MRU list			int index = 0; // default to the first slot			if (numOpen < fileLimit) {				// numOpen does not exceed the fileLimit				// find the first null slot to use in the MRU				for (int i = 0; i < fileLimit; i++)					if (bundleFileList[i] == null) {						index = i;						break;					}			} else {				// numOpen has reached the fileLimit				// find the least recently used bundleFile and close it 				// and use it slot for the new bundleFile to be opened.				index = 0;				for (int i = 1; i < fileLimit; i++)					if (useStampList[i] < useStampList[index])						index = i;				BundleFile toRemove = bundleFileList[index];				if (toRemove.getMruIndex() != index)					throw new IllegalStateException("The BundleFile has the incorrect mru index: " + index  + " != " + toRemove.getMruIndex());  //$NON-NLS-1$//$NON-NLS-2$				removeInternal(toRemove);				toRemove.close();			}			// found an index to place to bundleFile to be opened			bundleFileList[index] = bundleFile;			bundleFile.setMruIndex(index);			incUseStamp(index);			numOpen++;		}	}