sourceTextArea.scrollRectToVisible(sourceTextArea.modelToView(show));
int startLine = srcLine.getStartLine() - 1; int endLine = srcLine.getEndLine();    int viewLine = Math.max(startLine - SELECTION_VOFFSET, 0); int viewBegin = sourceTextArea.getLineStartOffset(viewLine);  Rectangle viewRect = sourceTextArea.modelToView(viewBegin); sourceTextAreaScrollPane.getViewport().setViewPosition(new Point(viewRect.x, viewRect.y));   int selBegin = sourceTextArea.getLineStartOffset(startLine); int selEnd = sourceTextArea.getLineStartOffset(endLine); sourceTextArea.select(selBegin, selEnd); sourceTextArea.getCaret().setSelectionVisible(true);
            public void run() {                try {                    sourceTextArea.scrollRectToVisible(sourceTextArea.modelToView(show));                } catch (javax.swing.text.BadLocationException e) {                    logger.logMessage(ConsoleLogger.ERROR,  e.toString());                }            }