protected static function objectOutput(\stdClass $object, \DOMDocument $dom, \DOMElement $parentUL)
    {
        foreach($object as $k=>$v)
        {
            $li = $dom->createElement('li');
            $parentUL->appendChild($li);
            $strong = $dom->createElement('strong', $k);
            $li->appendChild($strong);
            if ($v instanceof \stdClass)
            {
                $ul = $dom->createElement('ul');
                $li->appendChild($ul);
                self::objectOutput($v, $dom, $ul);
            }
            else if (is_array($v))
            {
                $ul = $dom->createElement('ul');
                $li->appendChild($ul);
                self::arrayOutput($v, $dom, $ul);
            }
            else if (is_bool($v))
            {
                switch($v)
                {
                    case true: $li->appendChild($dom->createTextNode(' TRUE')); break;
                    case false: $li->appendChild($dom->createTextNode(' FALSE')); break;
                }
            }
            else if (is_scalar($v))
            {
                $span = $dom->createElement('span');
                $span->appendChild($dom->createTextNode(' '.strval($v)));
                $li->appendChild($span);
            }
        }
        return $dom;
    }