void () { int offset = myEditor.logicalPositionToOffset(myLogicalCaret); PositionMarker oldMarker = myPositionMarker; if (!oldMarker.isValid() || oldMarker.getStartOffset() != offset || oldMarker.getEndOffset() != offset) { myPositionMarker = new PositionMarker(offset); oldMarker.dispose(); } myLeansTowardsLargerOffsets = myLogicalCaret.leansForward; myLogicalColumnAdjustment = myLogicalCaret.column - myEditor.offsetToLogicalPosition(offset).column; }