* Create a ForeignKeyRecord instance from the specified index record
*/
public ForeignKey createForeignKeyRecord(final char[] record) {
final String str = new String(record);
final List<String> tokens = getStrings(str, IndexConstants.RECORD_STRING.RECORD_DELIMITER);
final ForeignKey fkRecord = new ForeignKey();
// Extract the index version information from the record
int indexVersion = getIndexVersion(record);
// The tokens are the standard header values
int tokenIndex = 0;
setRecordHeaderValues(fkRecord, tokens.get(tokenIndex++), tokens.get(tokenIndex++),
tokens.get(tokenIndex++), tokens.get(tokenIndex++),
tokens.get(tokenIndex++), tokens.get(tokenIndex++));
// The next token are the UUIDs for the column references
List<String> uuids = getStrings(tokens.get(tokenIndex++), getListDelimiter(indexVersion));
fkRecord.setColumns(createColumns(uuids));
// The next token is the UUID of the unique key
fkRecord.setUniqueKeyID(getObjectValue(tokens.get(tokenIndex++)));
// The next tokens are footer values
setRecordFooterValues(fkRecord, tokens, tokenIndex);
return fkRecord;