public static function toCamelCase($pStr, $pCapitaliseFirstChar = true)
    {
        if (empty($pStr)) {
            return $pStr;
        }

        $pStr = strtolower($pStr);

        if ($pCapitaliseFirstChar) {
            $pStr[0] = strtoupper($pStr[0]);
        }

        return preg_replace_callback('/_([a-z])/', function ($pMatches)
            {
                return strtoupper($pMatches[1]);
            }, $pStr);
    }