class RepairGroup extends ScheduledTask {

    @VisibleForTesting
    Collection<RepairTask> getRepairTasks()
    {
        Collection<RepairTask> tasks = new ArrayList<>();

        RepairTask.Builder builder = new RepairTask.Builder()
                .withJMXProxyFactory(myJmxProxyFactory)
                .withTableReference(myTableReference)
                .withTableRepairMetrics(myTableRepairMetrics)
                .withRepairConfiguration(myRepairConfiguration)
                .withReplicas(myReplicaRepairGroup.getReplicas());

        for (LongTokenRange range : myReplicaRepairGroup)
        {
            builder.withTokenRanges(Collections.singletonList(range));

            tasks.add(builder.build());
        }

        return tasks;
    }

    public  RepairGroup(int priority,
                       TableReference tableReference,
                       RepairConfiguration repairConfiguration,
                       ReplicaRepairGroup replicaRepairGroup,
                       JmxProxyFactory jmxProxyFactory,
                       TableRepairMetrics tableRepairMetrics,
                       RepairResourceFactory repairResourceFactory,
                       RepairLockFactory repairLockFactory);
    public  RepairGroup(int priority,
            TableReference tableReference,
            RepairConfiguration repairConfiguration,
            ReplicaRepairGroup replicaRepairGroup,
            JmxProxyFactory jmxProxyFactory,
            TableRepairMetrics tableRepairMetrics,
            RepairResourceFactory repairResourceFactory,
            RepairLockFactory repairLockFactory,
            List<TableRepairPolicy> tableRepairPolicies);

}