         lazyLoad          : o.lazyLoad ? no
       , data
       @addSubView @treeController.getView()
-      @treeController.getView().on 'ReceivedClickElsewhere', => @destroy()
+      @treeController.getView().on 'ReceivedClickElsewhere', => @destroy() unless @sticky
 
       @treeController.on "NodeExpanded", @bound "positionSubMenu"
 

    options.offset.left   or= 0
    options.offset.top    or= 0
    options.arrow          ?= no

    super options, data

    @topMargin  = 0
    @leftMargin = 0

    o = @getOptions()

    KD.getSingleton("windowController").addLayer @

    @on 'ReceivedClickElsewhere', => @destroy()

    if data
      @treeController = new JContextMenuTreeViewController

      @on "viewAppended", @bound "addArrow"

    @appendToDomBody()

  setSticky:   -> @sticky = yes
  unsetSticky: -> @sticky = no

  childAppended:->

