/** Executes range(s) damage and cleans range queue. */ public synchronized void run() { if (component != null) { TextUI mapper = component.getUI(); if (mapper != null && lastDoc == component.getDocument()) { // the Document should be the same to properly // display highlights int len = p0.size(); for (int i = 0; i < len; i++) { mapper.damageRange(component, p0.get(i).getOffset(), p1.get(i).getOffset()); } } } p0.clear(); p1.clear(); // release reference lastDoc = null; }