private void verifyData(CoherenceDirectory dir, String fileName) throws IOException {
    byte[] test = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
    assertTrue(dir.fileExists(fileName));
    assertEquals(38, dir.fileLength(fileName));

    IndexInput indexInput = dir.openInput(fileName);
    indexInput.readBytes(test, 0, 5);
    assertEquals(8, test[0]);
    assertEquals(-1, indexInput.readInt());
    assertEquals(10, indexInput.readLong());
    assertEquals(0, indexInput.readInt());
    assertEquals(0, indexInput.readInt());
    indexInput.readBytes(test, 0, 8);
    assertEquals((byte) 1, test[0]);
    assertEquals((byte) 8, test[7]);
    indexInput.readBytes(test, 0, 5);
    assertEquals((byte) 1, test[0]);
    assertEquals((byte) 5, test[4]);

    indexInput.seek(28);
    assertEquals((byte) 4, indexInput.readByte());
    indexInput.seek(30);
    assertEquals((byte) 6, indexInput.readByte());

    indexInput.close();
  }
  private void insertData(CoherenceDirectory dir, String fileName) throws IOException {
    byte[] test = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
    IndexOutput indexOutput = dir.createOutput(fileName);
    indexOutput.writeBytes(new byte[] {2, 4, 6, 7, 8}, 5);
    indexOutput.writeInt(-1);
    indexOutput.writeLong(10);
    indexOutput.writeInt(0);
    indexOutput.writeInt(0);
    indexOutput.writeBytes(test, 8);
    indexOutput.writeBytes(test, 5);

    indexOutput.seek(0);
    indexOutput.writeByte((byte) 8);
    if (dir.getBucketSize() > 4) {
      indexOutput.seek(2);
      indexOutput.writeBytes(new byte[] {1, 2}, 2);
    }

    indexOutput.close();
  }