code: private void writeBufferedValsToStorage() {
          List<Versioned<byte[]>> obsoleteVals = storageEngine.multiVersionPut(currBufferedKey,
                                                                               currBufferedVals);
          // log Obsolete versions in debug mode
          if(logger.isDebugEnabled() && obsoleteVals.size() > 0) {
              logger.debug("updateEntries (Streaming multi-version-put) rejected these versions as obsolete : "
                           + StoreUtils.getVersions(obsoleteVals) + " for key " + currBufferedKey);
          }
          currBufferedVals = new ArrayList<Versioned<byte[]>>(VALS_BUFFER_EXPECTED_SIZE);
      }
docs: Persists the current set of versions buffered for the current key into
  storage, using the multiVersionPut api
  
  NOTE: Now, it could be that the stream broke off and has more pending
  versions. For now, we simply commit what we have to disk. A better design
  would rely on in-stream markers to do the flushing to storage.