              || (dropDown is DisplayObjectContainer && 
                  !DisplayObjectContainer(dropDown).contains(DisplayObject(event.target))))))
         {
-            if(hitAreaAdditions != null)
-            {
-                for(var i:int = 0;i<hitAreaAdditions.length;i++)
+            if (hitAreaAdditions != null)
+            {
+                for (var i:int = 0;i<hitAreaAdditions.length;i++)
                 {
-                    if(hitAreaAdditions[i] == event.target ||
+                    if (hitAreaAdditions[i] == event.target ||
                         ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(event.target as DisplayObject)))
                         return;
                 }

            // 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;
                }

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