void (final boolean memoryCachesOnly) { synchronized (myLock) { myClassToSubclasses.flush(memoryCachesOnly); myClassToClassDependency.flush(memoryCachesOnly); myRelativeSourceFilePathToClasses.flush(memoryCachesOnly); myClassToRelativeSourceFilePath.flush(memoryCachesOnly); if (!myIsDelta) { myShortClassNameIndex.flush(memoryCachesOnly); // flush if you own the context final DependencyContext context = myContext; if (context != null) { context.clearMemoryCaches(); if (!memoryCachesOnly) { context.flush(); } } } } }