code: @Override
      final public void mouseReleased(MouseEvent e) {
          // Check to see if this mouse release completes a liberal single click.
          if (isComponentPressedDown) {
              // A liberal single click has occurred.
              mouseLiberalClick(e);
              // Check to see if we had two liberal single clicks within the double click time window.
              long now = System.currentTimeMillis();
              long timeBetweenUnusedClicks = now - lastUnusedLiberalSingleClickTimeStamp;
              if (timeBetweenUnusedClicks <= slowestDoubleClickMilliseconds) {
                  // A liberal double click has occurred.
                  mouseLiberalDoubleClick(e);
                  // Mark the single click timestamp as "used" by this double click.
                  lastUnusedLiberalSingleClickTimeStamp = 0;
              } else {
                  // Save the single click timestamp as part of a possible future double click.
                  lastUnusedLiberalSingleClickTimeStamp = System.currentTimeMillis();
              }
          }
          // Record the mouse release.
          isComponentPressedDown = false;
          // Call the mouse release event.
          mouseRelease(e);
      }
docs: mouseReleased, Final function. Handles mouse released events. This function also detects
  liberal single clicks, and liberal double clicks.