void (int inputId) { if (IndexDebugProperties.DEBUG) { LOG.assertTrue(ProgressManager.getInstance().isInNonCancelableSection()); } getLock().writeLock().lock(); try { Map<Key, Value> keyValueMap = myInMemoryKeysAndValues.remove(inputId); if (keyValueMap == null) return; try { removeTransientDataForInMemoryKeys(inputId, keyValueMap); InputDataDiffBuilder<Key, Value> builder = getKeysDiffBuilder(inputId); removeTransientDataForKeys(inputId, builder); } catch (IOException throwable) { throw new RuntimeException(throwable); } } finally { getLock().writeLock().unlock(); } }