def METHOD_NAME(self, resources_to_destroy, resources_to_install, terraform_with_targets, dry_run):
    """
    Start installing the resources by calling PyTerraform class destroy
    Args:
        resources (list): Resources to be created
        terraform_with_targets (boolean): If partial install is to be done (if --tags is supplied)
        dry_run (boolean): Decides whether original install should be done
    """
    try:
        is_destory_successful = False
        if not dry_run:
            #PyTerraform().terraform_destroy(resources_to_destroy)
            #if destory fails it iterates for 3 times 
            for attempt in range(Settings.DESTROY_NUM_ATTEMPTS): 
                self.executed_with_error = False
                self.exception = None
                try:
                    PyTerraform().terraform_destroy(resources_to_destroy)
                    is_destory_successful = True
                    break
                except Exception as e:
                    is_destory_successful = False
                    self.executed_with_error = True
                    self.exception = e
        if is_destory_successful:
            self.destroy = True
            self.terraform_apply(resources_to_install, terraform_with_targets, dry_run)
    except Exception as e:
        self.executed_with_error = True
        self.exception = e
        self.destroy = True  # If there is any error in destroy set destroy to True
    self._cleanup_installation_process(dry_run)