use getCachedSourceFile and getSourceFile