public function fieldsetAsHtml($objFieldset, &$strSet, $hideEmpty = false)
    {
        $strTableOutput = "";
        
        // If this fieldset was rendered invisible due to conditions,
        // don't show it on the valuesAsHtml overview either.
        if (!$this->elementShouldDisplay($objFieldset)) {
            return $strTableOutput;
        }

        foreach ($objFieldset->getFields() as $objField) {
            if (is_object($objField) && get_class($objField) !== "ValidFormBuilder\\Hidden") {
                //*** Get the string value. If it's an array, implode with ','
                $strValue = $objField->getValue();
                if (is_array($strValue)) {
                    $strValue = implode(", ", $strValue);
                }

                if ((! empty($strValue) && $hideEmpty) || (! $hideEmpty && ! is_null($strValue))) {
                    if ($objField->hasFields()) {
                        switch (get_class($objField)) {
                            case "ValidFormBuilder\\MultiField":
                                $strSet .= $this->multiFieldAsHtml($objField, $hideEmpty);

                                break;
                            default:
                                $strSet .= $this->areaAsHtml($objField, $hideEmpty);
                        }
                    } else {
                        $strSet .= $this->fieldAsHtml($objField, $hideEmpty);
                    }
                }

                if ($objField->isDynamic()) {
                    $intDynamicCount = $objField->getDynamicCount();

                    if ($intDynamicCount > 0) {
                        for ($intCount = 1; $intCount <= $intDynamicCount; $intCount ++) {
                            switch (get_class($objField)) {
                                case "ValidFormBuilder\\MultiField":
                                    $strSet .= $this->multiFieldAsHtml($objField, $hideEmpty, $intCount);

                                    break;

                                case "ValidFormBuilder\\Area":
                                    $strSet .= $this->areaAsHtml($objField, $hideEmpty, $intCount);

                                    break;

                                default:
                                    $strSet .= $this->fieldAsHtml($objField, $hideEmpty, $intCount);
                            }
                        }
                    }
                }
            }
        }

        $strHeader = $objFieldset->getHeader();
        if (! empty($strHeader) && ! empty($strSet)) {
            $strTableOutput .= "<tr>";
            $strTableOutput .= "<td colspan=\"3\">&nbsp;</td>\n";
            $strTableOutput .= "</tr>";
            $strTableOutput .= "<tr>";
            $strTableOutput .= "<td colspan=\"3\"><b>{$strHeader}</b></td>\n";
            $strTableOutput .= "</tr>";
        }

        if (! empty($strSet)) {
            $strTableOutput .= $strSet;
        }

        return $strTableOutput;
    }