@Override
  public void run() throws Exception {
    CacheService service = getService();
    for (Map.Entry<String, Map<Data, CacheRecord>> entry : data.entrySet()) {
      ICacheRecordStore cache = service.getOrCreateCache(entry.getKey(), getPartitionId());
      Map<Data, CacheRecord> map = entry.getValue();

      Iterator<Map.Entry<Data, CacheRecord>> iter = map.entrySet().iterator();
      while (iter.hasNext()) {
        Map.Entry<Data, CacheRecord> next = iter.next();
        Data key = next.getKey();
        CacheRecord record = next.getValue();
        iter.remove();
        cache.setRecord(key, record);
      }
    }
    data.clear();
  }