int subCount = cacheMap.size();
out.writeInt(subCount);
out.writeUTF(entry.getKey());
for (Map.Entry<Data, CacheRecord> e : cacheMap.entrySet()) {
final Data key = e.getKey();
final CacheRecord record = e.getValue();
final long expirationTime = record.getExpirationTime();
if (expirationTime > now) {
out.writeData(key);
out.writeObject(record);
}
}