protected function applyBorderStyle($row, $col, string $param, $value) : bool
    {
        $buffer = $this->getBuffer();

        if (!isset($buffer[$row])) {
            return false;
        }

        if (!isset($buffer[$row][$col])) {
            return false;
        }

        // Os estilos de borda são aplicados apenas  no topo e na esquerda
        // Isso diminui a carga na estilização da planilha e corrige possiveis
        // bugs no objeto Spreadsheet

        $names = explode('-', $param);
        $direction = $names[1]; // top, right, bottom, left

        switch($direction) {
            case 'top':
                $this->applyBorderTop($row, $col, $param, $value);
                break;

            case 'left':
                $this->applyBorderLeft($row, $col, $param, $value);
                break;

            case 'right':
                $this->applyBorderRight($row, $col, $param, $value);
                break;

            case 'bottom':
                $this->applyBorderBottom($row, $col, $param, $value);
                break;
        }

        return true;
    }