code: function (type, evt) {
          var listeners = this.listeners[type];
  
          // fast path
          if(!listeners || listeners.length == 0) {
              return undefined;
          }
  
          // prep evt object with object & div references
          if (evt == null) {
              evt = {};
          }
          evt.object = this.object;
          evt.element = this.element;
          if(!evt.type) {
              evt.type = type;
          }
      
          // execute all callbacks registered for specified type
          // get a clone of the listeners array to
          // allow for splicing during callbacks
          listeners = listeners.slice();
          var continueChain;
          for (var i=0, len=listeners.length; i<len; i++) {
              var callback = listeners[i];
              // bind the context to callback.obj
              continueChain = callback.func.apply(callback.obj, [evt]);
  
              if ((continueChain != undefined) && (continueChain == false)) {
                  // if callback returns false, execute no more callbacks.
                  break;
              }
          }
          // don't fall through to other DOM elements
          if (!this.fallThrough) {           
              OpenLayers.Event.stop(evt, true);
          }
          return continueChain;
      }
docs: APIMethod: triggerEvent
  Trigger a specified registered event.
  
  Parameters:
  type - {String}
  evt - {Event || Object} will be passed to the listeners.
  
  Returns:
  {Boolean} The last listener return.  If a listener returns false, the
  chain of listeners will stop getting called.