class RetentionExpirationDestroyerController {

    public void performRetentionExpirationDestruction(File localInputFile, RegServerAccessParamsDto regServerAccessParamsDto) throws Exception
    {
        // Read business object data keys from the input CSV file.
        List<BusinessObjectDataKey> businessObjectDataKeys = getBusinessObjectDataKeys(localInputFile);

        // Initialize the web client.
        retentionExpirationDestroyerWebClient.setRegServerAccessParamsDto(regServerAccessParamsDto);

        // Process business object data keys one by one.
        LOGGER.info("Processing {} business object data instances for destruction.", CollectionUtils.size(businessObjectDataKeys));
        for (BusinessObjectDataKey businessObjectDataKey : businessObjectDataKeys)
        {
            retentionExpirationDestroyerWebClient.destroyBusinessObjectData(businessObjectDataKey);
            LOGGER.info("Successfully marked for destruction. Business object data {}", jsonHelper.objectToJson(businessObjectDataKey));
        }

        LOGGER.info("Successfully processed {} business object data instances for destruction.", CollectionUtils.size(businessObjectDataKeys));
    }

}