         if (isOpen)
         {   
             _isOpen = false;
-            if(openButton)
+            if (openButton)
                 openButton.keepDown(false);
             
             var dde:DropDownEvent = new DropDownEvent(DropDownEvent.CLOSE, false, true);

            // check if the target is the openButton or contained within the openButton
            if (openButton.contains(target))
                return;
            if(hitAreaAdditions != null)
            {
                for(var i:int = 0;i<hitAreaAdditions.length;i++)
                {
                    if(hitAreaAdditions[i] == target ||
                        ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(target as DisplayObject)))
                        return;
                }

            
            _isOpen = true;
            // Force the button to stay in the down state
            if (openButton)
                openButton.keepDown(true, !isProgrammatic); 
            
            dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
