class HiveDifferences {

  @VisibleForTesting
  static PartitionAndMetadata replicaPartitionToPartitionAndMetadata(Partition replicaPartition) {
    return new PartitionAndMetadata(replicaPartition.getParameters().get(SOURCE_TABLE.parameterName()),
        normaliseLocation(replicaPartition.getParameters().get(SOURCE_LOCATION.parameterName())), replicaPartition);
  }

  private  HiveDifferences(
      ComparatorRegistry comparatorRegistry,
      DiffListener diffListener,
      Table sourceTable,
      Iterator<Partition> sourcePartitionIterator,
      Optional<Table> replicaTable,
      Optional<? extends PartitionFetcher> replicaPartitionFetcher,
      Function<Path, String> checksumFunction,
      int partitionLimit);

}