@Override
public RevValue put(Index index, byte[] value, RevValue... parents) throws IOException,
NigoriCryptographyException, UnauthorisedException {
byte[] revBytes = generateHash(value, toIDByte(parents));
Revision rev = new Revision(revBytes);
RevValue rv = new RevValue(rev, value);
boolean success = store.put(index, rev, value);
if (!success) {
throw new IOException("Could not put into the store");
}