Source:
<code>private void prepareForSending() { try { <START> BlobDataType blobDataType = null; <END> if (isMetadataChunk()) { blobDataType = BlobDataType.METADATA; } else if (this.chunkIndex == 0) { blobDataType = BlobDataType.DATACHUNK; } else { blobDataType = BlobDataType.DATACHUNK; } if (partitionId != null) { attemptedPartitionIds.add(partitionId); } partitionId = getPartitionForPut(partitionClass, attemptedPartitionIds); chunkBlobId = new BlobId(routerConfig.routerBlobidCurrentVersion, BlobIdType.NATIVE, clusterMap.getLocalDatacenterId(), passedInBlobProperties.getAccountId(), passedInBlobProperties.getContainerId(), partitionId, passedInBlobProperties.isEncrypted(), blobDataType); chunkBlobProperties = new BlobProperties(chunkBlobSize, passedInBlobProperties.getServiceId(), passedInBlobProperties.getOwnerId(), passedInBlobProperties.getContentType(), passedInBlobProperties.isPrivate(), passedInBlobProperties.getTimeToLiveInSeconds(), passedInBlobProperties.getCreationTimeInMs(), passedInBlobProperties.getAccountId(), passedInBlobProperties.getContainerId(), passedInBlobProperties.isEncrypted()); operationTracker = new SimpleOperationTracker(routerConfig.routerDatacenterName, partitionId, false, null, true, Integer.MAX_VALUE, routerConfig.routerPutSuccessTarget, routerConfig.routerPutRequestParallelism); correlationIdToChunkPutRequestInfo.clear(); state = ChunkState.Ready; } catch (RouterException e) { setOperationExceptionAndComplete(e); } catch (Exception e) { setOperationExceptionAndComplete( new RouterException("Prepare for sending failed", e, RouterErrorCode.UnexpectedInternalError)); } }</code><technical_language>minor: initialization null required I think</technical_language>

Target:
private void prepareForSending() { try { BlobDataType blobDataType = null; if (isMetadataChunk()) { blobDataType = BlobDataType.METADATA; } else if (chunkIndex == 0) { blobDataType = BlobDataType.DATACHUNK; } else { blobDataType = BlobDataType.DATACHUNK; } if (partitionId != null) { attemptedPartitionIds.add(partitionId); } partitionId = getPartitionForPut(partitionClass, attemptedPartitionIds); chunkBlobId = new BlobId(routerConfig.routerBlobidCurrentVersion, BlobIdType.NATIVE, clusterMap.getLocalDatacenterId(), passedInBlobProperties.getAccountId(), passedInBlobProperties.getContainerId(), partitionId, passedInBlobProperties.isEncrypted(), blobDataType); chunkBlobProperties = new BlobProperties(chunkBlobSize, passedInBlobProperties.getServiceId(), passedInBlobProperties.getOwnerId(), passedInBlobProperties.getContentType(), passedInBlobProperties.isPrivate(), passedInBlobProperties.getTimeToLiveInSeconds(), passedInBlobProperties.getCreationTimeInMs(), passedInBlobProperties.getAccountId(), passedInBlobProperties.getContainerId(), passedInBlobProperties.isEncrypted()); operationTracker = new SimpleOperationTracker(routerConfig.routerDatacenterName, partitionId, false, null, true, Integer.MAX_VALUE, routerConfig.routerPutSuccessTarget, routerConfig.routerPutRequestParallelism); correlationIdToChunkPutRequestInfo.clear(); state = ChunkState.Ready; } catch (RouterException e) { setOperationExceptionAndComplete(e); } catch (Exception e) { setOperationExceptionAndComplete( new RouterException("Prepare for sending failed", e, RouterErrorCode.UnexpectedInternalError)); } }