private function getChar($offset = null)
    {
        if (null === $offset) {
            $offset = $this->offset;
        }

        if (empty ($this->source) || $this->offset >= $this->sourceLength) {
            return false;
        }

        return $this->source[$offset];
    }