public function render(HTML_QuickForm2_Renderer $renderer)
 {
     // render as a normal select when frozen
     if ($this->frozen) {
         $renderer->renderElement($this);
     } else {
         $jsBuilder = $renderer->getJavascriptBuilder();
         $this->renderClientRules($jsBuilder);
         $jsBuilder->addLibrary('dualselect', 'dualselect.js', 'js/', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR);
         $keepSorted = empty($this->data['keepSorted']) ? 'false' : 'true';
         $jsBuilder->addElementJavascript("qf.elements.dualselect.init('{$this->getId()}', {$keepSorted});");
         // Fall back to using the Default renderer if custom one does not have a plugin
         if ($renderer->methodExists('renderDualSelect')) {
             $renderer->renderDualSelect($this);
         } else {
             $renderer->renderElement($this);
         }
     }
     return $renderer;
 }