void (@NotNull MouseEvent mouseDragEvent, @NotNull VisualPosition startPosition, int startOffset, @NotNull VisualPosition endPosition, int endOffset) { mySelectionModel.setSelection(startPosition, startOffset, endPosition, endOffset); if (myCurrentDragIsSubstantial || startOffset != endOffset || !Comparing.equal(startPosition, endPosition)) { onSubstantialDrag(mouseDragEvent); } }