org_aspectj_weaver_tools_cache_FlatFileCacheBackingTest_java
org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking
protected Map<String, IndexEntry> readIndex(File cacheDir, File cacheFile) {
        TreeMap<String, IndexEntry> indexMap = new TreeMap<String, IndexEntry>();
        Object[] idxValues = this.readIndex(cacheFile);
        if (LangUtil.isEmpty(idxValues)) {
            if (this.logger != null && this.logger.isTraceEnabled()) {
                this.logger.debug("readIndex(" + cacheFile + ") no index entries");
            }
            return indexMap;
        }
        for (Object ie : idxValues) {
            IndexEntry resEntry = this.resolveIndexMapEntry(cacheDir, (IndexEntry)ie);
            if (resEntry != null) {
                indexMap.put(resEntry.key, resEntry);
                continue;
            }
            if (this.logger == null || !this.logger.isTraceEnabled()) continue;
            this.logger.debug("readIndex(" + cacheFile + ") skip " + ((IndexEntry)ie).key);
        }
        return indexMap;
    }
 -> java.io.File.canRead(): boolean -> java.io.ObjectInputStream.readObject(): java.lang.Object -> java.io.InputStream.close(): void -> java.io.File.canRead(): boolean -> java.util.logging.Logger.isLoggable(java.util.logging.Level): boolean -> java.io.File.canRead(): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.io.File.canRead(): boolean -> java.util.logging.Logger.isLoggable(java.util.logging.Level): boolean -> java.io.File.canRead(): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object
 [CALL] [CALL] -> java.io.File.canRead(): boolean -> java.io.ObjectInputStream.readObject(): java.lang.Object [CALL] -> java.io.InputStream.close(): void [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.io.File.canRead(): boolean [EXIT] [CALL] -> java.util.logging.Logger.isLoggable(java.util.logging.Level): boolean [EXIT] [CALL] -> java.io.File.canRead(): boolean [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] -> java.io.File.canRead(): boolean [EXIT] [CALL] -> java.util.logging.Logger.isLoggable(java.util.logging.Level): boolean [EXIT] [CALL] -> java.io.File.canRead(): boolean [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT]