private static function getHTMLBackTrace($backtrace)
    {
        $str = '';

        foreach ($backtrace as $step) {
            if ($step['function'] != 'getHTMLBackTrace' && $step['function'] != 'handle_error') {
                $str .= '<tr><td style="border-bottom: 1px solid #EEEEEE">';
                $str .= ((isset($step['class'])) ? htmlspecialchars($step['class'], ENT_NOQUOTES, 'UTF-8') : '').
                ((isset($step['type'])) ? htmlspecialchars($step['type'], ENT_NOQUOTES, 'UTF-8') : '').htmlspecialchars($step['function'], ENT_NOQUOTES, 'UTF-8').'(';

                if (is_array($step['args'])) {
                    $drawn = false;
                    $params = '';
                    foreach ($step['args'] as $param) {
                        $params .= self::getPhpVariableAsText($param);
                        //$params .= var_export($param, true);
                        $params .= ', ';
                        $drawn = true;
                    }
                    $str .= htmlspecialchars($params, ENT_NOQUOTES, 'UTF-8');
                    if ($drawn == true) {
                        $str = substr($str, 0, strlen($str) - 2);
                    }
                }
                $str .= ')';
                $str .= '</td><td style="border-bottom: 1px solid #EEEEEE">';
                $str .= ((isset($step['file'])) ? htmlspecialchars(self::displayFile($step['file']), ENT_NOQUOTES, 'UTF-8') : '');
                $str .= '</td><td style="border-bottom: 1px solid #EEEEEE">';
                $str .= ((isset($step['line'])) ? $step['line'] : '');
                $str .= '</td></tr>';
            }
        }

        return $str;
    }