code: function (v, e) {
              var self = this;
              self.callSuper(v, e);    // sync
              // sync
              if (!e) {
                  return;
              }
              if (e.fromMouse) {
                  return;
              }
              if (v && !e.fromKeyboard) {
                  showMenu.call(self);
              } else if (!v) {
                  hideMenu.call(self);
              }
          }
docs: Dismisses the submenu on a delay, with the result that the user needs less
  accuracy when moving to sub menus.
  @protected