public function setIdColumn($idColumn)
    {
        $idColumn = (string) $idColumn;

        /** @noinspection IsEmptyFunctionUsageInspection */
        if (empty($idColumn)) {
            throw new Exception\InvalidArgumentException('ID column must be a non-empty string.');
        }

        $this->idColumn = $idColumn;

        return $this;
    }