protected List<DataNodeId> getRemoteNodesFromLocalAndRemoteDCs(ClusterMap clusterMap, DataNodeId localNode) {
    List<DataNodeId> remoteNodesFromLocalAndRemoteDCs = new ArrayList<>();
    String currentDataCenter = localNode.getDatacenterName();
    DataNodeId remoteNodeInLocalDC = null;
    DataNodeId remoteNodeInRemoteDC = null;
    List<? extends ReplicaId> replicaIds = clusterMap.getReplicaIds(localNode);
    MockPartitionId existingPartition = (MockPartitionId) replicaIds.get(0).getPartitionId();
    for (ReplicaId replicaId : existingPartition.getReplicaIds()) {
      if (!replicaId.getDataNodeId().equals(localNode)) {
        if (replicaId.getDataNodeId().getDatacenterName().equals(currentDataCenter)) {
          if (remoteNodeInLocalDC == null) {
            remoteNodeInLocalDC = replicaId.getDataNodeId();
          }
        } else if (remoteNodeInRemoteDC == null) {
          remoteNodeInRemoteDC = replicaId.getDataNodeId();
        }
      }
      if (remoteNodeInLocalDC != null && remoteNodeInRemoteDC != null) {
        break;
      }
    }

    remoteNodesFromLocalAndRemoteDCs.add(remoteNodeInLocalDC);
    remoteNodesFromLocalAndRemoteDCs.add(remoteNodeInRemoteDC);

    return remoteNodesFromLocalAndRemoteDCs;
  }
Get a pair of data nodes (one from local data center and one from remote data center) which share partitions
with local node.
@return list of data nodes that share partitions with local node.
ambry-replication/src/test/java/com/github/ambry/replication/ReplicationTestHelper.java