markDirty(true);
final int dataOff = myKeyStorage != null ? (int)myKeyStorage.length() : ((InlineKeyDescriptor<Data>)myDataDescriptor).toInt(value);
if (myKeyStorage != null) {
final BufferExposingByteArrayOutputStream bos = new BufferExposingByteArrayOutputStream();
DataOutput out = new DataOutputStream(bos);
myDataDescriptor.save(out, value);
myKeyStorage.put(dataOff, bos.getInternalBuffer(), 0, bos.size());
}
return setupValueId(hashCode, dataOff);
}
catch (IOException e) {