code: protected boolean mouseDown(Element element, GqEvent event) {
  
      // test if an other plugin handle the mouseStart
      if (isEventAlreadyHandled(event)) {
        return false;
      }
  
      if (started) { // case where we missed a mouseup
        mouseUp(element, event);
      }
  
      // calculate all interesting variables
      reset(event);
  
      if (notHandleMouseDown(element, event)) {
        return true;
      }
  
      if (delayConditionMet() && distanceConditionMet(event)) {
        started = mouseStart(element, event);
        if (!started) {
          event.getOriginalEvent().preventDefault();
          return true;
        }
      }
  
      bindOtherEvents(element);
  
      if (!touchSupported) { // click event are not triggered if we call preventDefault on touchstart event.
        event.getOriginalEvent().preventDefault();
      }
  
      markEventAsHandled(event);
  
      return true;
    }
docs: Method called when mouse down occur on the element.
  
  You should not override this method. Instead, override {@link #mouseStart(Element, GqEvent)}
  method.