protected function doDeleteList(ResourceListInterface $resources, $autoCommit, $soft = true)
    {
        $hasError = false;
        $hasFlushError = false;

        foreach ($resources as $i => $resource) {
            list($continue, $hasError) = $this->prepareDeleteResource($resource, $autoCommit, $hasError, $hasFlushError);

            if (!$continue) {
                $skipped = $this->doDeleteResource($resource, $soft);
                $hasFlushError = $this->doAutoCommitFlushTransaction($resource, $autoCommit, $skipped);
                $hasError = $this->finalizeResourceStatus($resource, ResourceStatutes::DELETED, $hasError);
            }
        }

        return $hasError;
    }