private function resolveCellsPaddings(): array
    {
        $return = [0, 0, 0, 0];

        // If padding is not set, return default values
        if (false === isset($this->options['cells_padding'])) {
            return $return;
        }

        // Create a resolver to validate passed values
        $resolver = new OptionsResolver();
        $resolver->setDefined(0);
        $resolver->setDefined(1);
        $resolver->setDefined(2);
        $resolver->setDefined(3);

        $resolver->setAllowedTypes(0, 'integer');
        $resolver->setAllowedTypes(1, 'integer');
        $resolver->setAllowedTypes(2, 'integer');
        $resolver->setAllowedTypes(3, 'integer');

        $padding = $this->options['cells_padding'];

        // If is only an integer, make it an array with only one set value
        if (is_int($padding)) {
            $padding = [$padding];
        }

        $count = count($padding);

        switch ($count) {
            case 1:
                // Set the same padding for all directions
                $return = [$padding[0], $padding[0], $padding[0], $padding[0]];
                break;

            case 2:
                // 0: Top and Bottom; 1: Left and Right
                $return = [$padding[0], $padding[1], $padding[0], $padding[1]];
                break;

            case 3:
                // 0: Top; 1: Left and Right; 2: Bottom
                $return = [$padding[0], $padding[1], $padding[2], $padding[1]];
                break;

            case 4:
                // 0: Top; 1: Right; 2: Bottom; 3: Left
                $return = [$padding[0], $padding[1], $padding[2], $padding[3]];
                break;
        }

        return $return;
    }