code: function(evt) {
          if (this.passesTolerance(evt)) {
              if (this.timerId != null) {
                  // already received a click
                  if (this.last.touches && this.last.touches.length === 1) {
                      // touch device, no dblclick event - this may be a double
                      if (this["double"]) {
                          // on Android don't let the browser zoom on the page
                          OpenLayers.Event.preventDefault(evt);
                      }
                      this.handleDouble(evt);
                  }
                  // if we're not in a touch environment we clear the click timer
                  // if we've got a second touch, we'll get two touchend events
                  if (!this.last.touches || this.last.touches.length !== 2) {
                      this.clearTimer();
                  }
              } else {
                  // remember the first click info so we can compare to the second
                  this.first = this.getEventInfo(evt);
                  // set the timer, send evt only if single is true
                  //use a clone of the event object because it will no longer 
                  //be a valid event object in IE in the timer callback
                  var clickEvent = this.single ?
                      OpenLayers.Util.extend({}, evt) : null;
                  this.queuePotentialClick(clickEvent);
              }
          }
      }
docs: Method: handleSingle
  Handle single click sequence.