class Replica extends HiveEndpoint {

  public void validateReplicaTable(String replicaDatabaseName, String replicaTableName) {
    try (CloseableMetaStoreClient client = getMetaStoreClientSupplier().get()) {
      Optional<Table> oldReplicaTable = getTable(client, replicaDatabaseName, replicaTableName);
      if (oldReplicaTable.isPresent()) {
        LOG.debug("Existing table found, checking that it is a valid replica.");
        determineValidityOfReplica(replicationMode, oldReplicaTable.get());
      }
    }
  }

    Replica(
      ReplicaCatalog replicaCatalog,
      HiveConf replicaHiveConf,
      Supplier<CloseableMetaStoreClient> replicaMetaStoreClientSupplier,
      ReplicaTableFactory replicaTableFactory,
      HousekeepingListener housekeepingListener,
      ReplicaCatalogListener replicaCatalogListener,
      TableReplication tableReplication,
      AlterTableService alterTableService);
  @VisibleForTesting  Replica(
      ReplicaCatalog replicaCatalog,
      HiveConf replicaHiveConf,
      Supplier<CloseableMetaStoreClient> replicaMetaStoreClientSupplier,
      ReplicaTableFactory replicaTableFactory,
      HousekeepingListener housekeepingListener,
      ReplicaCatalogListener replicaCatalogListener,
      TableReplication tableReplication,
      AlterTableService alterTableService,
      int partitionBatchSize);

}