void () { try { LOG.info("Doing self diagnostic for " + myFile); List<Data> storedData = new ArrayList<>(); iterateData(data -> { storedData.add(data); return true; }); for (int i = 0; i < storedData.size(); i++) { try { Data data = storedData.get(i); int id = i + 1; if (tryEnumerate(data) != id) { throw new IOException(myFile + " is corrupted"); } if (!myDataDescriptor.isEqual(valueOf(id), data)) { throw new IOException(myFile + " is corrupted"); } } catch (Exception e) { LOG.error(e); } } } catch (Throwable e) { LOG.error(e); } }