code: private RowKeyBuilder initializeRowKeyBuilder() {
  		RowKeyBuilder builder = new RowKeyBuilder();
  		if ( hasIdentifier ) {
  			builder.addColumns( getIdentifierColumnName() );
  		}
  		else {
  			builder.addColumns( getKeyColumnNames() );
  			// !isOneToMany() present in delete not in update
  			if ( !isOneToMany() && hasIndex && !indexContainsFormula ) {
  				builder.addIndexColumns( getIndexColumnNames() );
  			}
  			else {
  				builder.addColumns( getElementColumnNames() );
  			}
  		}
  		return builder;
  	}
docs: Centralize the RowKey column setting logic as the values settings are slightly different between insert / update and delete