show(frame.sourceCodeTextPane, document, thisSource);
frame.sourceCodeTextPane.scrollLinesToVisible(startLine, endLine, otherLines);
	public void run() {		while (true) {			BugInstance myBug;			SourceLineAnnotation mySourceLine;			synchronized (this) {				while (!pendingUpdate) {					try {						wait();					} catch (InterruptedException e) {						// we don't use these					}				}				myBug = bugToDisplay;				mySourceLine = sourceToHighlight;				bugToDisplay = null;				sourceToHighlight = null;				pendingUpdate = false;			}			if (myBug == null) {				frame.clearIndividualBugInformation();				continue;			}						try {			final JavaSourceDocument src = getDocument(mySourceLine);			src.getHighlightInformation().clear();			String primaryKind = mySourceLine.getDescription();			// Display myBug and mySourceLine			for(Iterator<BugAnnotation> i = myBug.annotationIterator(); i.hasNext(); ) {				BugAnnotation annotation = i.next();				if (annotation instanceof SourceLineAnnotation) {					SourceLineAnnotation sourceAnnotation = (SourceLineAnnotation) annotation;					if (sourceAnnotation == mySourceLine)  continue;					if (sourceAnnotation.getDescription().equals(primaryKind))						highlight(src, sourceAnnotation, MAIN_HIGHLIGHT_MORE);					else 						highlight(src, sourceAnnotation, ALTERNATIVE_HIGHLIGHT);				}			}			highlight(src, mySourceLine, MAIN_HIGHLIGHT);			final BugInstance thisBug = myBug;			final SourceLineAnnotation thisSource = mySourceLine;			javax.swing.SwingUtilities.invokeLater(new Runnable() {				public void run() {					frame.sourceCodeTextPane.setEditorKit(src.getEditorKit());					StyledDocument document = src.getDocument();					frame.sourceCodeTextPane.setDocument(document);					frame.setSourceTabTitle(thisSource.getSourceFile() + " in " + thisSource.getPackageName());					show(frame.sourceCodeTextPane, document, thisSource);					for(Iterator<BugAnnotation> i = thisBug.annotationIterator(); i.hasNext(); ) {						BugAnnotation annotation = i.next();						if (annotation instanceof SourceLineAnnotation) {							SourceLineAnnotation sourceAnnotation = (SourceLineAnnotation) annotation;							if (sourceAnnotation != thisSource)  								show(frame.sourceCodeTextPane, document, sourceAnnotation);						}					}					show(frame.sourceCodeTextPane, document, thisSource);				}			});		} catch (Exception e) {			Debug.println(e); // e.printStackTrace();		}		}	}