* the PcpValueInfo to be written to the file
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private void writeValueSection(ByteBuffer dataFileBuffer, PcpValueInfo info) {
int originalPosition = dataFileBuffer.position();
TypeHandler rawHandler = info.getTypeHandler();
if (rawHandler.requiresLargeStorage()) {
// API requires the length here but it's currently unused -- write out the maximum
// possible length
dataFileBuffer.putLong(STRING_BLOCK_LENGTH - 1);
dataFileBuffer.putLong(info.getLargeValue().getOffset());
dataFileBuffer.position(info.getLargeValue().getOffset());
}
rawHandler.putBytes(dataFileBuffer, info.getInitialValue());
dataFileBuffer.position(originalPosition + DATA_VALUE_LENGTH);
dataFileBuffer.putLong(info.getDescriptorOffset());
dataFileBuffer.putLong(info.getInstanceOffset());
}