Source:
public ReplicationEngine(ReplicationConfig replicationConfig, ClusterMapConfig clusterMapConfig, StoreKeyFactory storeKeyFactory, ClusterMap clusterMap, ScheduledExecutorService scheduler, DataNodeId dataNode, List<? extends ReplicaId> replicaIds, ConnectionPool connectionPool, MetricRegistry metricRegistry, NotificationSystem requestNotification, StoreKeyConverterFactory storeKeyConverterFactory, String transformerClassName, ClusterParticipant clusterParticipant, StoreManager storeManager) throws ReplicationException { this.replicationConfig = replicationConfig; this.storeKeyFactory = storeKeyFactory; try { this.tokenHelper = new FindTokenHelper(this.storeKeyFactory, this.replicationConfig); } catch (ReflectiveOperationException roe) { logger.error("Error on getting ReplicaTokenHelper", roe); throw new ReplicationException("Error on getting ReplicaTokenHelper"); } this.replicaThreadPoolByDc = new ConcurrentHashMap<>(); this.replicationMetrics = new ReplicationMetrics(metricRegistry, replicaIds); this.mountPathToPartitionInfos = new ConcurrentHashMap<>(); this.partitionToPartitionInfo = new ConcurrentHashMap<>(); this.clusterMap = clusterMap; this.scheduler = scheduler; this.correlationIdGenerator = new AtomicInteger(0); this.dataNodeId = dataNode; this.connectionPool = connectionPool; this.notification = requestNotification; this.metricRegistry = metricRegistry; this.dataNodeIdToReplicaThread = new ConcurrentHashMap<>(); this.nextReplicaThreadIndexByDc = new ConcurrentHashMap<>(); this.sslEnabledDatacenters = Utils.splitString(clusterMapConfig.clusterMapSslEnabledDatacenters, ","); this.storeKeyConverterFactory = storeKeyConverterFactory; this.transformerClassName = transformerClassName; this.storeManager = storeManager; replicaSyncUpManager = clusterParticipant == null ? null : clusterParticipant.getReplicaSyncUpManager(); peerLeaderReplicasByPartition = new ConcurrentHashMap<>(); replicationModelType = replicationConfig.replicationModelForInterColoDatacenters.equals("leader-based") ? ReplicationModelType.LEADER_BASED : ReplicationModelType.ALL_TO_ALL; }

Target:
public ReplicationEngine(ReplicationConfig replicationConfig, ClusterMapConfig clusterMapConfig, StoreKeyFactory storeKeyFactory, ClusterMap clusterMap, ScheduledExecutorService scheduler, DataNodeId dataNode, List<? extends ReplicaId> replicaIds, ConnectionPool connectionPool, MetricRegistry metricRegistry, NotificationSystem requestNotification, StoreKeyConverterFactory storeKeyConverterFactory, String transformerClassName, ClusterParticipant clusterParticipant, StoreManager storeManager) throws ReplicationException { this.replicationConfig = replicationConfig; this.storeKeyFactory = storeKeyFactory; try { this.tokenHelper = new FindTokenHelper(this.storeKeyFactory, this.replicationConfig); } catch (ReflectiveOperationException roe) { logger.error("Error on getting ReplicaTokenHelper", roe); throw new ReplicationException("Error on getting ReplicaTokenHelper"); } this.replicaThreadPoolByDc = new ConcurrentHashMap<>(); this.replicationMetrics = new ReplicationMetrics(metricRegistry, replicaIds); this.mountPathToPartitionInfos = new ConcurrentHashMap<>(); this.partitionToPartitionInfo = new ConcurrentHashMap<>(); this.clusterMap = clusterMap; this.scheduler = scheduler; this.correlationIdGenerator = new AtomicInteger(0); this.dataNodeId = dataNode; this.connectionPool = connectionPool; this.notification = requestNotification; this.metricRegistry = metricRegistry; this.dataNodeIdToReplicaThread = new ConcurrentHashMap<>(); this.nextReplicaThreadIndexByDc = new ConcurrentHashMap<>(); this.sslEnabledDatacenters = Utils.splitString(clusterMapConfig.clusterMapSslEnabledDatacenters, ","); this.storeKeyConverterFactory = storeKeyConverterFactory; this.transformerClassName = transformerClassName; this.storeManager = storeManager; replicaSyncUpManager = clusterParticipant == null ? null : clusterParticipant.getReplicaSyncUpManager(); peerLeaderReplicasByPartition = new ConcurrentHashMap<>(); }