@Override
 public boolean equals(Object o) {
   if (this == o) return true;
   CleanupKey that = (CleanupKey) o;
   if (readerVersion != that.readerVersion) return false;
   if (!indexShard.equals(that.indexShard)) return false;
   return true;
 }
 @Override
 public boolean equals(Object o) {
   if (this == o) return true;
   Key key = (Key) o;
   if (readerVersion != key.readerVersion) return false;
   if (!shard.equals(key.shard)) return false;
   if (!value.equals(key.value)) return false;
   return true;
 }