Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java (revision 1724047) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java (working copy) @@ -358,21 +358,17 @@ return concat(entries); } - RecordId[] keys = new RecordId[size]; - RecordId[] values = new RecordId[size]; + MapEntry[] entries = new MapEntry[size]; for (int i = 0; i < size; i++) { - keys[i] = segment.readRecordId(getOffset(4 + size * 4, i * 2)); - if (keys[i].equals(diffKey)) { - values[i] = diffValue; + RecordId key = segment.readRecordId(getOffset(4 + size * 4, i * 2)); + RecordId value; + if (key.equals(diffKey)) { + value = diffValue; } else { - values[i] = segment.readRecordId(getOffset(4 + size * 4, i * 2 + 1)); + value = segment.readRecordId(getOffset(4 + size * 4, i * 2 + 1)); } - } - - MapEntry[] entries = new MapEntry[size]; - for (int i = 0; i < size; i++) { - String name = Segment.readString(keys[i]); - entries[i] = new MapEntry(name, keys[i], values[i]); + String name = Segment.readString(key); + entries[i] = new MapEntry(name, key, value); } return Arrays.asList(entries); }