public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat)
 {
     $sResult = '';
     $bIsFirst = true;
     foreach ($this->aRules as $aRules) {
         foreach ($aRules as $oRule) {
             $sRendered = $oOutputFormat->safely(function () use($oRule, $oOutputFormat) {
                 return $oRule->render($oOutputFormat->nextLevel());
             });
             if ($sRendered === null) {
                 continue;
             }
             if ($bIsFirst) {
                 $bIsFirst = false;
                 $sResult .= $oOutputFormat->nextLevel()->spaceBeforeRules();
             } else {
                 $sResult .= $oOutputFormat->nextLevel()->spaceBetweenRules();
             }
             $sResult .= $sRendered;
         }
     }
     if (!$bIsFirst) {
         // Had some output
         $sResult .= $oOutputFormat->spaceAfterRules();
     }
     return $oOutputFormat->removeLastSemicolon($sResult);
 }