void (@NotNull VirtualFile file) { if (isTouched(file)) { return; } Long lastTs = getLastSavedStamp(file); final long stamp = file.getTimeStamp(); if (lastTs != null && stamp == lastTs) { return; } Integer oldContentId = getSavedContentId(file); if (oldContentId != null && oldContentId > 0) { if (LOG.isDebugEnabled()) { LOG.debug("releasing content for " + file + ", id = " + oldContentId); } getFS().releaseContent(oldContentId); } saveContentReference(file, getFS().acquireContent(file)); markTouched(file); }