class DefaultDeleteBuilder extends BaseTaskBuilder implements DeleteBuilder<T> {

    @Override
    public DeleteTask<T> task() throws IllegalStateException {
        if (extractorName == null) {
            throw new IllegalStateException("Required 'sourceMatchExtractor' is not set");
        }

        return new DeleteTask<T>(extractorName, batchSize, type, targetFilter, targetCayenneService, tokenManager,
                createProcessor());
    }

    public  DefaultDeleteBuilder(
            Class<T> type,
            ITargetCayenneService targetCayenneService,
            ITokenManager tokenManager,
            ITaskService taskService,
            MapperBuilder mapperBuilder);

}