void (@NotNull ClasspathCache.LoaderData data) { if (!myConfiguration.myCanHavePersistentIndex) return; long started = System.nanoTime(); File index = getIndexFileFile(); DataOutput writer = null; boolean isOk = false; try { writer = new UnsyncDataOutputStream(new BufferedOutputStream(new FileOutputStream(index))); DataInputOutputUtilRt.writeINT(writer, ourVersion); data.save(writer); isOk = true; } catch (IOException ignore) { } finally { if (writer != null) { try { ((OutputStream)writer).close(); } catch (IOException ignore) { } } if (!isOk) index.delete(); totalSaving.addAndGet(System.nanoTime() - started); } }