if ( collection.needsUpdating( entry, i, elementType ) ) {
//get the tuple Key
Map<String, Object> tupleKey = getTupleKeyForUpdate( key, collection, session, i, entry );
//find the matching element
RowKey matchingTupleKey = metadataProvider.findMatchingTuple( tupleKey );
if ( matchingTupleKey == null ) {
throw new AssertionFailure( "Updating a collection tuple that is not present: " +
"table {" + getTableName() + "} collectionKey {" + key + "} entry {" + entry + "}" );
}
//copy on read to avoid concurrent transactions issues