public function li($iconOrLine, $liVal = null)
    {
        if (is_string($iconOrLine) === false && is_array($iconOrLine) === false) {
            throw new IncompleteListException(
                'List items must be a string or array of strings.'
            );
        }

        if (is_string($iconOrLine) && is_null($liVal)) {
            return $this->addItem(null, $iconOrLine);
        }

        if (is_string($iconOrLine) && is_string($liVal)) {
            return $this->addItem($iconOrLine, $liVal);
        }

        if (is_array($iconOrLine)) {
            return $this->addItems($iconOrLine);
        }
    }