private int tweakPosition() {
   int pos = target.getCaretPosition();
   if (selectedLinesButton.isSelected()) {
     if (forwardButton.isSelected()) {
       int selstart = target.getSelectionStart();
       if (selstart < pos && selstart != -1) {
         pos = selstart;
       }
     } else {
       int selend = target.getSelectionEnd();
       if (selend > pos && selend != -1) {
         pos = selend;
       }
     }
   } else {
     int selstart = target.getSelectionStart();
     if (selstart < pos && selstart != -1) {
       pos = selstart;
     }
   }
   return pos;
 }