IIndex index = getIndex(fIndexKeys[i]);
IIndex index = getIndex(fIndexKeys[i], false);
	private IIndex[] getIndexes(IIndexQuery search) {		IPath[] fIndexKeys= null; // cache of the keys for looking index up		if (fIndexKeys == null) {			ArrayList requiredIndexKeys= new ArrayList();			search.computePathsKeyingIndexFiles(requiredIndexKeys);			fIndexKeys= new IPath[requiredIndexKeys.size()];			requiredIndexKeys.toArray(fIndexKeys);		}		// acquire the in-memory indexes on the fly		int length = fIndexKeys.length;		IIndex[] indexes = new IIndex[length];		int count = 0;		for (int i = 0; i < length; i++){			// may trigger some index recreation work			IIndex index = getIndex(fIndexKeys[i]);			if (index != null) indexes[count++] = index; // only consider indexes which are ready yet		}		if (count != length) {			System.arraycopy(indexes, 0, indexes= new IIndex[count], 0, count);		}		return indexes;	}