@Override protected void setRootAsync(Object value, FutureWithCallback<Void> future) { if (value instanceof UserTObject && ((UserTObject) value).getTrunk().getStore() != BinaryStore.this) future.setException(new RuntimeException(Strings.WRONG_STORE)); else { byte[] data = writeObject(value); long id = _jdbm.getRoot(ROOT); if (id != 0) _jdbm.update(id, data); else { id = _jdbm.insert(data); _jdbm.setRoot(ROOT, id); } future.set(null); } }