public function camelize($str, $capitalizeFirst = false)
    {
        $hash = md5($str . $capitalizeFirst);
        if (empty($this->camelizeCache[$hash])) {
            $str = strtolower($str);
            if ($capitalizeFirst) {
                $str[0] = strtoupper($str[0]);
            }

            $this->camelizeCache[$hash] = preg_replace_callback('/_([a-z0-9])/', array($this, 'camelizeHelper'), $str);
        }

        return $this->camelizeCache[$hash];
    }