public static function camelize($name)
    {
        if (!isset(self::$camelizeCache[$name])) {
            $camelizedName = ucwords(str_replace('_', ' ', $name));
            $camelizedName = str_replace(' ', '', $camelizedName);

            self::$camelizeCache[$name] = $camelizedName;
            if (!isset(self::$underscoreCache[$camelizedName])) {
                self::$underscoreCache[$camelizedName] = $name;
            }
        }

        return self::$camelizeCache[$name];
    }