Source:
<code>public void join(MutationState newMutationState) { if (this == newMutationState) { return; } <START> if (txContext != null) { <END> for (TransactionAware txAware : txAwares) { txContext.addTransactionAware(txAware); } } else { txAwares.addAll(newMutationState.txAwares); } this.sizeOffset += newMutationState.sizeOffset; for (Map.Entry<TableRef, Map<ImmutableBytesPtr,RowMutationState>> entry : newMutationState.mutations.entrySet()) { TableRef tableRef = entry.getKey(); PTable table = tableRef.getTable(); boolean isIndex = table.getType() == PTableType.INDEX; Map<ImmutableBytesPtr,RowMutationState> existingRows = this.mutations.put(tableRef, entry.getValue()); if (existingRows != null) { for (Map.Entry<ImmutableBytesPtr,RowMutationState> rowEntry : entry.getValue().entrySet()) { RowMutationState existingRowMutationState = existingRows.put(rowEntry.getKey(), rowEntry.getValue()); if (existingRowMutationState != null) { Map<PColumn,byte[]> existingValues = existingRowMutationState.getColumnValues(); if (existingValues != PRow.DELETE_MARKER) { Map<PColumn,byte[]> newRow = rowEntry.getValue().getColumnValues(); if (newRow != PRow.DELETE_MARKER) { existingRowMutationState.join(rowEntry.getValue()); existingRows.put(rowEntry.getKey(), existingRowMutationState); } } } else { if (!isIndex) { numRows++; } } } this.mutations.put(entry.getKey(), existingRows); } else { if (!isIndex) { numRows += entry.getValue().size(); } } } mutationMetricQueue.combineMetricQueues(newMutationState.mutationMetricQueue); if (readMetricQueue == null) { readMetricQueue = newMutationState.readMetricQueue; } else if (readMetricQueue != null && newMutationState.readMetricQueue != null) { readMetricQueue.combineReadMetrics(newMutationState.readMetricQueue); } throwIfTooBig(); }</code><technical_language>condition caught IllegalStateException thrown</technical_language>

Target:
public void join(MutationState newMutationState) { if (this == newMutationState) { return; } if (txContext != null) { for (TransactionAware txAware : newMutationState.txAwares) { txContext.addTransactionAware(txAware); } } else { txAwares.addAll(newMutationState.txAwares); } this.sizeOffset += newMutationState.sizeOffset; for (Map.Entry<TableRef, Map<ImmutableBytesPtr,RowMutationState>> entry : newMutationState.mutations.entrySet()) { TableRef tableRef = entry.getKey(); PTable table = tableRef.getTable(); boolean isIndex = table.getType() == PTableType.INDEX; Map<ImmutableBytesPtr,RowMutationState> existingRows = this.mutations.put(tableRef, entry.getValue()); if (existingRows != null) { for (Map.Entry<ImmutableBytesPtr,RowMutationState> rowEntry : entry.getValue().entrySet()) { RowMutationState existingRowMutationState = existingRows.put(rowEntry.getKey(), rowEntry.getValue()); if (existingRowMutationState != null) { Map<PColumn,byte[]> existingValues = existingRowMutationState.getColumnValues(); if (existingValues != PRow.DELETE_MARKER) { Map<PColumn,byte[]> newRow = rowEntry.getValue().getColumnValues(); if (newRow != PRow.DELETE_MARKER) { existingRowMutationState.join(rowEntry.getValue()); existingRows.put(rowEntry.getKey(), existingRowMutationState); } } } else { if (!isIndex) { numRows++; } } } this.mutations.put(entry.getKey(), existingRows); } else { if (!isIndex) { numRows += entry.getValue().size(); } } } mutationMetricQueue.combineMetricQueues(newMutationState.mutationMetricQueue); if (readMetricQueue == null) { readMetricQueue = newMutationState.readMetricQueue; } else if (readMetricQueue != null && newMutationState.readMetricQueue != null) { readMetricQueue.combineReadMetrics(newMutationState.readMetricQueue); } throwIfTooBig(); }