code: @Override
      public void backup(long id, long version) {
          if (LOG.isDebugEnabled())
              LOG.debug("Backup: {} ver: {} {}", new Object[]{hex(id), version, copyImmediately ? "(COPY)" : ""});
          if (copyImmediately) {
              currentBackups.put(id, makeBackup(cache.getLine(id), version));
              oldMap().remove(id);
          }
          else
              map.put(id, new BackupEntry(id, version));
      }
docs: Must be called by the cache when the line is synchronized, and under a read-lock (i.e. between startBackup and endBackup)
  
  @param id
  @param version